Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Abstract Methods 
:(
    Опции темы
Christoph
Дата 17.1.2009, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 667
Регистрация: 23.1.2008
Где: Харьков

Репутация: 5
Всего: 11



Не могу понять зачем нужные абстрактные методы?! И для чего его создавать? если нужно создавать наследника, и только потом использовать! Искал в инете, в книге инфу, толком нет объяснения


--------------------
user posted image
PM MAIL ICQ   Вверх
Bose
Дата 17.1.2009, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 8
Всего: 51



Цитата(Christoph @  17.1.2009,  20:11 Найти цитируемый пост)
Не могу понять зачем нужные абстрактные методы?! 

Как на самом деле не знаю, но могу нафантазировать следующее:
Полагаю, что абстрактные методы введены в язык как попытка заменить интерфейсы. В первых версиях Delphi вроде бы не было поддержки интерфейсов(IInterface), а необходимость определять методы в предке была. Вероятно, затем их и ввели.

Если есть опыт работы с базами данных в Дельфи, то советую посмотреть например класс TDataset. Отличный пример использования абстрактных методов.  

PM MAIL WWW Skype   Вверх
skyboy
Дата 17.1.2009, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



Цитата(Bose @  17.1.2009,  20:57 Найти цитируемый пост)
попытка заменить интерфейсы

интерфейсы Delphi не позволяют включать в них реализацию: только описание(да, да, в классе, реализующем интерфейс, будет делегат). 
абстрактные же методы входят в состав "обычных" классов, осталные методы того же класса вполне могут быть не абстрактными.
класс-предок, реализующий некий шаблонный метод проще и нагляднее будет, как класс с абстрактными методами, чем интерфейс + класс, реализующий только пару из объявленных в интерфейсе методов(я уже слегка подзабыл: а вообще возможно в классе, реализующем некий интерфейс, реализовать не все методы, объявленные в интерфейсе?)

Добавлено через 1 минуту и 37 секунд
пожалуй, абстрактные методы не столько для описания интерфейса класса(ибо есть интерфейсы и так), а для явной или неявной реализации шаблонного метода и чтоб обязать(обязать программиста на уровне синтаксиса) переопределять методы-"пустышки" в потомках.
PM MAIL   Вверх
Bose
Дата 17.1.2009, 23:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: 8
Всего: 51



Цитата(skyboy @  17.1.2009,  21:54 Найти цитируемый пост)
я уже слегка подзабыл: а вообще возможно в классе, реализующем некий интерфейс, реализовать не все методы, объявленные в интерфейсе?

С интерфейсами нельзя. Delphi не даст даже скомпилировать такой код, в отличие от классов с абстрактными методами. 
PM MAIL WWW Skype   Вверх
skyboy
Дата 17.1.2009, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



значит, вот ещё отличие абстрактных методов от полностью абстрактных классов smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0643 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.