900 / 477 / 93
Регистрация: 10.06.2014
Сообщений: 2,698
|
|||||||||||
1 | |||||||||||
Назначить каждому классу свое одноименное поле03.04.2016, 19:00. Показов 750. Ответов 8
Метки нет (Все метки)
Как сделать, что бы у каждого класса поля в дереве наследования было свое значение?
0
|
03.04.2016, 19:00 | |
Ответы с готовыми решениями:
8
Каждому li элементу назначить свое изображение Как назначить атрибут Serializable чужому классу? Как на кнопку свернуть назначить свое действие? TreeView: назначить Tag каждому ноду |
8972 / 4318 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||||
03.04.2016, 19:02 | 2 | |||||
1
|
900 / 477 / 93
Регистрация: 10.06.2014
Сообщений: 2,698
|
|
03.04.2016, 19:12 [ТС] | 3 |
hoggy,
Спасибо за пример, но это "альтернативный" вариант. Есть ли способ что бы без подобных телодвижений было выведено значение по умолчанию поля производного класса? Как с виртуальными функциями, но только для полей?
0
|
8972 / 4318 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
03.04.2016, 19:14 | 4 |
1
|
900 / 477 / 93
Регистрация: 10.06.2014
Сообщений: 2,698
|
|
03.04.2016, 19:25 [ТС] | 5 |
hoggy,
Ясно. Спасибо
0
|
Модератор
13706 / 10909 / 6473
Регистрация: 18.12.2011
Сообщений: 29,126
|
||||||
03.04.2016, 19:27 | 6 | |||||
А чем виртуальный механизм не устраивает:
0
|
900 / 477 / 93
Регистрация: 10.06.2014
Сообщений: 2,698
|
|
03.04.2016, 19:37 [ТС] | 7 |
zss,
Дело не в "устраивает", просто изучаю язык, синтаксис, его возможности Добавлено через 7 минут zss, С другой стороны, в вашем примере продублирован метод get(), согласитесь это лишнее и было бы отлично иметь под рукой механизм виртуальных полей. Тогда и get() не пришлось бы дублировать
0
|
8972 / 4318 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
03.04.2016, 19:48 | 8 |
на практике нет необходимости в виртуальных полях.
зато есть серьёзные основания делать все данные-члены закрытыми. доступ к внутренностям класса только через публичный интерфейс (public методы класса).
0
|
245 / 139 / 53
Регистрация: 23.11.2015
Сообщений: 394
|
||||||
06.04.2016, 10:39 | 9 | |||||
sys_beginner, недавно понадобилось сделать что-то похожее. решил отписать, чтобы потом мог ссылаться на этот ответ.
хотелось, чтобы суперкласс задавал дефолтное значение, а наследники при конструировании могли задать любое другое. подразумевается, что такое поле не должно вообще изменяться извне, а доступ происходит через геттер. используется делигирующий конструктор, что, конечно, не обязательно. поля и методы не дублируются.
0
|
06.04.2016, 10:39 | |
06.04.2016, 10:39 | |
Помогаю со студенческими работами здесь
9
Определить средний балл по каждому классу Назначить каждому потоку на каком ядре процессора работать Каждому определённому символу в слове назначить цифру и посчитать их сумму Как каждому объекту класса из списка назначить свою процедуру? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |