|
15 / 11 / 7
Регистрация: 24.03.2014
Сообщений: 57
|
|
Как запретить наследовать переменные класса?22.05.2014, 09:26. Показов 9874. Ответов 5
Метки нет (Все метки)
Добрый день!
Изучаю одновременно C# и Java (простите если не в ту ветку написал) Ситуация: Есть класс (A), у которого есть 10 переменных, делаю производный класс от него (B extends A). Вопрос: Как в базовом классе запретить наследовать 4 переменные? В C# это решается словом "sealed". Поискал по форумам, 100 раз на глаза попалось слово "final", думаю: - "хорошо, сделаю эти поля final", сделал, в классе B (для проверки) объявляю переменную с таким же именем и NetBeans мне пишет "Поле скрывает другое поле". Направьте пожалуйста! Что хочу: закрыть 4 переменные для наследования.
0
|
|
| 22.05.2014, 09:26 | |
|
Ответы с готовыми решениями:
5
Как при создании экземпляра класса инициализировать переменные вложенного класса
Как правильно наследовать методы класса |
|
12 / 12 / 2
Регистрация: 28.04.2014
Сообщений: 31
|
|
| 22.05.2014, 09:44 | |
|
Переменные нельзя "наследовать". Можно:
1) Запретить изменение переменной после выхода из конструктора. Для этого используют ключевое слово final. 2) Закрыть прямой доступ к переменной из наследника. Для этого используют ключевое слово private. Все.
1
|
|
|
614 / 488 / 175
Регистрация: 02.03.2010
Сообщений: 1,238
|
|
| 22.05.2014, 09:49 | |
|
private
Хоть и наследуются private переменные, но доступа к ним из потомков не будет
0
|
|
|
15 / 11 / 7
Регистрация: 24.03.2014
Сообщений: 57
|
|
| 22.05.2014, 10:32 [ТС] | |
|
Если сделать переменную private, то к ней не будет доступа через объект класса!
Единственный выход для каждой такой переменной делать 2 метода (getPerem1 и setPerem1 и т.д.) ? Добавлено через 34 минуты Спасибо всем, вопрос решил по-другому. Решено переделать структуру так, чтобы не создавать базовый класс и класс наследник (будет только 1 класс). Если кому интересно, зачем это вообще делать: У меня есть класс, в который просто заливаются данные из таблицы на SQL Server-e, данных очень много (около 40 млн строк). Далее этот массив я разбиваю на блоки по 30 строк, при этом ключевые поля (вообще их 4, но есть поля (еще 9 шт), имеющие одинаковое значение в разрезе всего блока), так вот, чтобы эту информацию не дублировать 40 млн раз, хотел вынести их в отдельное поле. Вот такие дела.
0
|
|
|
12 / 12 / 2
Регистрация: 28.04.2014
Сообщений: 31
|
|
| 22.05.2014, 10:33 | |
|
Объясните, что значит "закрыть переменные от наследования". Я вот не понимаю, что это значит :-) Термин "наследование" применяют к методам и классам. Например, объявив класс или метод final вы запрещаете либо дальнейшее наследование от класса, либо override метода соответственно. А с к переменным то это как применимо?
В этом плане джавовский final является полным аналогом sealed. Единственное, sealed так же можно применять к свойствам, которых в Java нет. Но по сути свойство - это тот же метод. Поэтому не совсем понятна ваша цель - чего вы хотите добиться?
0
|
|
|
|
|
| 22.05.2014, 13:16 | |
|
0
|
|
| 22.05.2014, 13:16 | |
|
Помогаю со студенческими работами здесь
6
не получается наследовать переменную из род. класса Можно-ли наследовать класс, в котором определен объект текущего класса?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
1С: Программный отбор элементов справочника Номенклатура по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа.
В качестве фильтра для отбора справочника служит группа номенклатуры.
Отбор под наименованию группы (на. . .
|
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
|
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс.
Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
|
1С: Программный отбор элементов справочника Сотрудники по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа.
В качестве фильтра для отбора служит предопределенное значение перечислений.
Процедура. . .
|
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|