![]() |
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]() ![]() ![]() |
|
Christoph |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 667 Регистрация: 23.1.2008 Где: Харьков Репутация: 5 Всего: 11 |
Не могу понять зачем нужные абстрактные методы?! И для чего его создавать? если нужно создавать наследника, и только потом использовать! Искал в инете, в книге инфу, толком нет объяснения
-------------------- ![]() |
|||
|
||||
Bose |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1458 Регистрация: 5.3.2005 Где: Riga, Latvia Репутация: 8 Всего: 51 |
Как на самом деле не знаю, но могу нафантазировать следующее: Полагаю, что абстрактные методы введены в язык как попытка заменить интерфейсы. В первых версиях Delphi вроде бы не было поддержки интерфейсов(IInterface), а необходимость определять методы в предке была. Вероятно, затем их и ввели. Если есть опыт работы с базами данных в Дельфи, то советую посмотреть например класс TDataset. Отличный пример использования абстрактных методов. |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: нет Всего: 260 |
интерфейсы Delphi не позволяют включать в них реализацию: только описание(да, да, в классе, реализующем интерфейс, будет делегат). абстрактные же методы входят в состав "обычных" классов, осталные методы того же класса вполне могут быть не абстрактными. класс-предок, реализующий некий шаблонный метод проще и нагляднее будет, как класс с абстрактными методами, чем интерфейс + класс, реализующий только пару из объявленных в интерфейсе методов(я уже слегка подзабыл: а вообще возможно в классе, реализующем некий интерфейс, реализовать не все методы, объявленные в интерфейсе?) Добавлено через 1 минуту и 37 секунд пожалуй, абстрактные методы не столько для описания интерфейса класса(ибо есть интерфейсы и так), а для явной или неявной реализации шаблонного метода и чтоб обязать(обязать программиста на уровне синтаксиса) переопределять методы-"пустышки" в потомках. |
|||
|
||||
Bose |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1458 Регистрация: 5.3.2005 Где: Riga, Latvia Репутация: 8 Всего: 51 |
||||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: нет Всего: 260 |
значит, вот ещё отличие абстрактных методов от полностью абстрактных классов
![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |