|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
05.04.2017, 14:44 | #1 |
Форумчанин
Регистрация: 10.02.2014
Сообщений: 526
|
Классы. "Наследование" значений свойств.
Здравствуйте.
Никак не могу найти и понять как можно от родительского класса передать дочернему все значения его свойств. Например, есть класс Код:
Код:
Код:
Код:
|
05.04.2017, 14:56 | #2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Никак. Зачем вообще создавать экземпляр TPrintProduct? В других языках такие классы обычно даже помечают как "абстрактные", чтоб нельзя было создать их экземпляр.
А для инициализации обычно используют конструктор. В конструкторе можно вызвать родительский конструктор.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
05.04.2017, 14:59 | #3 | ||
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
Наследуется не экземпляр класса, а класс. И Type и Format ни капли не свойства, а просто public-поля Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 05.04.2017 в 15:02. |
||
05.04.2017, 15:10 | #4 |
Форумчанин
Регистрация: 10.02.2014
Сообщений: 526
|
Например, если в родительском классе не 2, а гораздо больше полей, и если много различающихся дочерних классов, чтоб при вновь созданном каждом из них не переприсваивать уже имеющиеся значения. Родительский конструктор ведь тоже не переносит значения.
Наверное, придётся создавать свой "конструктрор", с параметром - экземпляром родительского класса, в котором присваивать значения экземпляра "родителя"... |
05.04.2017, 15:25 | #5 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Ни чем экземпляр родительского класса не поможет, он вообще не нужен
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
05.04.2017, 15:26 | #6 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
родительский класс разлинованная ВЕРХНЯЯ половинка листа
дочерний класс Целый разлинованный лист (он включает в себя ту самую верхнюю половинку) (разлинованная == перечислены свойства названия + значения) Если мы берем половинку листа (создаем объект родительского типа) у нас есть только что написано на этой половинке. И писать мы можем только на ЭТОЙ половине. Если бы берем СРАЗУ целый лист (создаем объект ДОЧЕРНЕГО типа) Мы можем писать на ВСЕМ листе. При этом если согнем лист пополам то "увидим" только ВЕРХНЮЮ половинку (и читать/писать сможем только то что относится к РОДИТЕЛЬСКОМУ классу). Использование свойств РОДИТЕЛЬСКОГО класса. Но вторая половинка никуда не делась, и мы можем лист развернуть. Вернуться к полному набору свойств. При половине листа (объект родительского класса) у нас ФИЗИЧЕСКИ нет второй половины и разворачивать нам НЕЧЕГО.
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 05.04.2017 в 15:30. |
05.04.2017, 15:26 | #7 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Что куда не переносит?
И чем поможет еще один экземпляр?) Все равно ж ему придется присвоить значения. Тогда проще сделать конструкторы устанавливающие эти значения по умолчанию.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
05.04.2017, 15:30 | #8 |
Форумчанин
Регистрация: 10.02.2014
Сообщений: 526
|
|
05.04.2017, 15:42 | #9 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Не это.
Код:
Код:
Код:
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 05.04.2017 в 15:46. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Убрать папки "Pictures", "Music", "Видео", "Downloads" из "МОЙ КОМПЬЮТЕР" | Бахтиёр1916 | Windows | 1 | 05.04.2017 12:53 |
[C#]: Не могу понять, как создать иерархию классов "Печатное издание–Книга– Учебник–Журнал". Классы должны содержать поля для описания свойств объектов и методы для работы с ними | sadness130 | Помощь студентам | 0 | 05.03.2017 13:10 |
Нужно пояснить/прокомментировать код программы, или коды функций "Добавить" "Удалить" "Обновить(редактировать" "Поиск" "Период") | ZIRASS | PHP | 4 | 15.06.2016 14:23 |
Создать класс "Вентилятор" содержащий в себе классы: "Двигатель", "Контроллер", "Пульт управления" | link90 | Общие вопросы C/C++ | 2 | 27.03.2016 12:34 |
Для заданной строки определить все входящие в неё символ. Например: строка "abccbbabbac" состоит из символов "a", "b" и "c" | Sandakan01 | Помощь студентам | 1 | 24.02.2016 03:20 |