Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.16;
Скачать: CL | DM;

Вниз

Множественное наследование   Найти похожие ветки 

 
Yuri2004   (2004-04-28 23:43) [0]

Существует ли в Делфи множественное наследование,
если да то какой синтаксис, и если нет то как можно его обойти.


 
Юрий Зотов ©   (2004-04-28 23:54) [1]

Не существует, и обойти это нельзя никак. Существует некий суррогат - интерфейсы, но это скорее агрегирование, чем наследование. Идея в том, что объявляется набор интерфейсов, а затем строится класс, реализующий один или несколько интерфейсов.

Примеров полно в VCL. См. строки с таким синтаксисом:
Класс_потомок = class(Класс_предок, Интерфейс1, Интерфейс2, ...)


 
Игорь Шевченко ©   (2004-04-28 23:55) [2]

К сожалению, не существует.

Обойти его можно либо реализуя интерфейсы, либо композицией классов делегированием поведения.


 
Игорь Шевченко ©   (2004-04-28 23:56) [3]


> композицией классов и делегированием поведения


 
Rouse_ ©   (2004-04-28 23:56) [4]

Не существует, хотя сегодня с Юрием Федоровым мы обсуждали вариант совместить классы через интерфейс...
Говорили просто теоретически, но как вариант можно попробовать такой подход...

PS: Заранее скажу, что данный вариант мной не опробован - просто как идея. Надеюсь меня дополнят или поправят...


 
default ©   (2004-04-29 00:04) [5]

Rouse_ ©   (28.04.04 23:56) [4]
поподробнее можно?
не понимаю причём здесь интерфейсы, можно делегировать реализацию какого-то интерфейса класса другому классу через директиву imlements, но что из этого? чем это лучше простого объявления класса в полях другого класса?


 
Rouse_ ©   (2004-04-29 00:09) [6]

> [5] default ©   (29.04.04 00:04)
Разговор идет про множественное наследование...
Читайте выше моего поста, мастера обьяснили суть...


 
default ©   (2004-04-29 00:19) [7]

млин, это одно и тоже по сути)))


 
Игорь Шевченко ©   (2004-04-29 00:51) [8]


> сегодня с Юрием Федоровым мы обсуждали вариант совместить
> классы через интерфейс


Эт как ?


> Надеюсь меня дополнят или поправят...


А поподробнее расскажи, тема интересная


 
default ©   (2004-04-29 01:26) [9]

Игорь Шевченко ©   (29.04.04 00:51) [8]
делег-ать, потом через инт-с раб-ая с об-ом мы не будем замечать что он вообще-то не цельная штуковина, а ещё включает какие-то
объекты чтоб обесп-ать фун-ть заявленных интер-ами
чего тут нового мне не понятно


 
TUser ©   (2004-04-29 07:57) [10]


> К сожалению, не существует.

А мне кажется, что это хорошо. По-моему сабж - это хороший способ затруднить себе отладку. Вот когда 2 человека становятся предками третьего - то результат сами знаете - непредсказуем. Одни гены - от папы, другие от мамы. Вот и с объектами так же, наверное. Не уследишь немного за тем, от кого какие св-ва и методы произошли, - и кирдык. А если у него не только папа с мамой, а вообще - штук 15 родителей, - тогда можно сразу закапываться в землю. Я так думаю.


 
Юрий Зотов ©   (2004-04-29 08:45) [11]

> TUser ©   (29.04.04 07:57) [10]

Точно. А еще лучше - вообще отменить всякие там классы. А то - не уследишь немного за тем, где чьи свойства и методы используются - и кирдык. Можно сразу в землю закапываться.


 
Ega23 ©   (2004-04-29 10:31) [12]

" у Константина Константиновича девяносто четыре родителя пяти полов, двести шесть  детей  пяти  различных  полов  и триста девяносто шесть срубтропцев пяти различных полов."
(С) Стругацкие, Сказка о Тройке


 
Гаврила ©   (2004-04-29 10:53) [13]

Скорее всего, действительно правильно сделали ,что не стали поддерживать множественное наследование.

"это класс - ребенок, потомок и мамы и папы, наследует свойства обоих"
А что, и половые признаки тоже наследует от обоих ? :-))


> default ©   (29.04.04 00:19) [7]
> млин, это одно и тоже по сути)))


По сути да, просто иногда удобнее с точки зрения кодирования


 
Игорь Шевченко ©   (2004-04-29 10:59) [14]


> Скорее всего, действительно правильно сделали ,что не стали
> поддерживать множественное наследование.


А мне так его не хватает. Честно. Из-за того, что его нету, каждый раз приходится мускулатуру пальцев развивать, набирая один и тот же код


 
Гаврила ©   (2004-04-29 11:06) [15]

Игорь, а ты сделай как говорит
default ©   (29.04.04 00:04) [5]

Зачем же код дублировать.. )


 
Иксик ©   (2004-04-29 11:11) [16]

Если не ошибаюсь в C# сабжа тоже нет. Интересно почему?


 
Игорь Шевченко ©   (2004-04-29 11:20) [17]

Иксик ©   (29.04.04 11:11)


> Если не ошибаюсь в C# сабжа тоже нет. Интересно почему?


Потому что тот же Хейлсберг делал ? :))


 
Андрей Сенченко ©   (2004-04-29 11:22) [18]

Игорь Шевченко ©   (29.04.04 11:20) [17]

Потому что тот же Хейлсберг делал ? :))

Ну судя по всему


 
Иксик ©   (2004-04-29 11:29) [19]


> Игорь Шевченко ©   (29.04.04 11:20) [17]

:)))



Страницы: 1 вся ветка

Текущий архив: 2004.05.16;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.054 c
14-1083079828
Polevi
2004-04-27 19:30
2004.05.16
SAP


1-1083221665
Yuri2004
2004-04-29 10:54
2004.05.16
Проблема с Interface ом


1-1083133018
Stas
2004-04-28 10:16
2004.05.16
тип PCHAR и ACCESS


1-1083298689
Kliiip
2004-04-30 08:18
2004.05.16
Как сохранить параметры формы и компонентов в нем?


14-1082953559
Warrior
2004-04-26 08:25
2004.05.16
WinAPI контролы