![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 29.06.2013
Сообщений: 132
|
![]()
Какую роль играет ключевое слово base ?
В книге Эндрю Троелсена имеется в приложение такой момент: Код:
Код:
В конструкторах base применяется, что б изначально вызвать конструктор базового класса, а тут что? Последний раз редактировалось Stilet; 27.09.2015 в 20:31. |
![]() |
![]() |
![]() |
#2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,792
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 29.06.2013
Сообщений: 132
|
![]()
Т.е. можно его и не вызыватЬ? Как я понял, в данном случает его вызывают, чтоб не дублировать код вызываемого метода. На выходе будет переопределённый метод в котором будет то, что вызвали + то что ещё добавлено ниже base.ИМЯ ВЫЗЫВАЕМОГО МЕТОДА.
Я верно понимаю? |
![]() |
![]() |
![]() |
#4 | |||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,792
|
![]() Цитата:
Цитата:
Цитата:
Шарпей ничего никуда добавлять не будет.
I'm learning to live...
|
|||
![]() |
![]() |
![]() |
#5 | |
Форумчанин
Регистрация: 15.11.2008
Сообщений: 577
|
![]() Цитата:
фыдвлаофдвыа (лимит) Последний раз редактировалось Stilet; 29.09.2015 в 06:34. |
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 29.06.2013
Сообщений: 132
|
![]()
Так а какой резон его вызывать, если виртуальный класс на то он и виртуальный, как я понял, чтоб его переопределить... Смысл его вызывать в потомке?
|
![]() |
![]() |
![]() |
#7 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 20,999
|
![]() Цитата:
когда вам нужно все то что делает метод-предка и еще свое. 2)чтоб вызвать код предка в случае если у него доступа больше. ну и иногда вам код предка тупо не известен. переопределение не всегда значит полная замена. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
![]() |
![]() |
![]() |
#8 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,873
|
![]()
Не в смысле дело. А в задаче и её реализации - если задача такова, что Вы её реализуете через иерархию объектов с переопределяемой логикой, то при частичном переопределении - вызывать родительский метод надо (соответственно думать о грамотном разделении кода меж ними), если переопределяемая логика у потомка целиком своя, то не вызываете.
Вам самому это решать. |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ключевое слово this | ryouzaki | Помощь студентам | 1 | 14.02.2014 03:41 |
Ключевое слово synchronized и многопоточность | pufystyj | Общие вопросы по Java, Java SE, Kotlin | 2 | 16.05.2013 23:24 |
Ключевое слово в с++ | Юлия Набиева | Помощь студентам | 3 | 12.03.2013 14:36 |
MSVC++: ключевое слово operator | Пепел Феникса | Общие вопросы C/C++ | 2 | 20.10.2009 21:32 |