| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Использовать во внуке метод деда, наследование |
| Автор: Delphist 8.5.2007, 14:42 |
| У меня есть три объекта: Дед, отец, сын отца или внук по отношению к деду. У Деда есть виртуальный метод procedure SetProp; virtual; данный метод перекрывается у отца procedure SetProp; override;. Теперь нужно сделать так, чтобы у внука вызывался не отцовский метод, а метод деда как это сделать? |
| Автор: Yanis 8.5.2007, 14:50 |
| дед.метод -- не? |
| Автор: Delphist 8.5.2007, 15:04 |
| Мне нужно чтобы во внуке вызывался метод деда. |
| Автор: Rennigth 8.5.2007, 15:26 |
| Delphist, Стандартными способами не получится. Сам принцип ООП такого не позволяет. Вроде люди обходили как-то, но не считаю что вообще такой подход правильний. Правильней пересмотреть саму структуру и построить грамотную модель. Добавлено через 3 минуты и 4 секунды Delphist, Это конечно если я тебя правильно понял, что ты хочешь что-бы override-метод папы не работал, а работал методы деда и внука. |
| Автор: ama_kid 8.5.2007, 15:29 |
| Delphist Если у тебя метод отца override'ит метод деда - то, имхо, только через какой-нибудь метод отца, который будет делать inherited SetProp деда... Можно сделать у отца overload вместо override и в сыне вызывать TDed(Self).SetProp - тогда будет вызываться напрямую метод деда... |
| Автор: Rennigth 8.5.2007, 16:46 |
Не помню, не вникал особо, но что-то VMT мутили. |