|
0 / 0 / 0
Регистрация: 01.08.2015
Сообщений: 104
|
||||||
ООП в Java11.08.2018, 11:36. Показов 786. Ответов 4
Метки нет (Все метки)
Здарова, мужики. Изучаю Java, появилось несколько непонятных для меня вещей, которые не дают мне покоя
![]() Надеюсь, что сможете мне помочь ответом или ссылочкой на источник для чтива. Итак, вопросы такие: 1. Скажите пожалуйста, нарушает ли инкапсуляцию конструкция внутреннего класса? Где-то пишут, что да, где-то, что наоборот - укрепляет. Нельзя обратиться напрямую из другого класса к private-полю другого класса через экземпляр первого, это абсолютно точно. Так нарушает или нет? 2. Модификатор protected позволяет обозначить те поля и методы, которые будут доступны классу-наследнику как в пределах пакета, так и в другом пакете. Но почему я не могу создать экземпляр класса-наследника, находящегося в другом пакете, и через него вызвать protected-члены класса-родителя? Могу вызвать только указав идентификатор члена. Пример:
0
|
||||||
| 11.08.2018, 11:36 | |
|
Ответы с готовыми решениями:
4
ООП Java ООП в JAVA |
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|||
| 11.08.2018, 12:59 | |||
|
0
|
|||
|
0 / 0 / 0
Регистрация: 01.08.2015
Сообщений: 104
|
|
| 11.08.2018, 13:47 [ТС] | |
|
xoraxax, да, понял конечно. Еще раз: нарушает ли инкапсуляцию конструкция внутреннего класса? Если да, то как именно? Если нет, то почему нет? Что не понятного? Дальше, я написал, что в Интернете, а именно в статьях, описывающих внутренние классы, сказано, что они укрепляют инкапсуляцию за счет того, что класс, будучи внутренним, да еще и полезный только в контексте обрамляющего класса, не надо выносить в отдельный top-level класс. С другой стороны, я ведь могу напрямую обращаться к non-static private членам класса, а это как-бы уже нарушает принцип. Вот я и интересуюсь, нарушает или нет.
Идем дальше, я написал, что поле a.x не видимо. С чего я взял, что оно должно быть видимо? Ок, класс B наследует от класса А. Поле x помечено как protected, соответственно я имею доступ к этому полю даже находясь в другом пакете. Как известно, вызов поля определяется по типу объектной ссылки, этот вызов не полиморфный. В классе-наследнике я его не затеняю. Вот и не понимаю, почему я не могу через ссылку типа А обратиться к этому полю.
0
|
|
|
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
|
|
| 11.08.2018, 14:42 | |
|
я бы тебе предложил побольше код писать
0
|
|
|
958 / 577 / 136
Регистрация: 23.05.2012
Сообщений: 7,364
|
|||
| 11.08.2018, 14:46 | |||
|
0
|
|||
| 11.08.2018, 14:46 | |
|
Помогаю со студенческими работами здесь
5
Java ООП(интерфейс) Задача по Java, принципы ООП
книга учебник проектироване моделирование ооп объектно-ориентированное java Основы Java освоены, понятия, парадигмы, ООП. Читать код могу, понятия есть, но все бы ничего, что дальше? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|