Вниз
Скачать: CL | DM;

Пояснения по теме интервейсы   Найти похожие ветки 

 
andru   (2009-08-24 20:12) [0]

Кто нибудь может объяснить популярно что такое интерфейсы и как их используют. В литературе, та что есть у меня, всё очень кратко и не конкретно.


 
Amoeba ©   (2009-08-24 20:24) [1]

Эта тема, даже популярного объяснения, требует как минимум большой статьи, а то и нескольких.
http://www.delphikingdom.com/lyceum/seminar.asp?ID=5


 
TIF ©   (2009-08-24 20:27) [2]

В двух словах
http://ru.wikipedia.org/wiki/COM-интерфейс


 
Юрий Зотов ©   (2009-08-24 21:13) [3]

> andru   (24.08.09 20:12)  

> что такое интерфейс

Интерфейс - это просто объявление набора методов (возможно, еще и cвойств). Никакой реализации этих методов у интерфейса нет, только их объявления.

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

> и как их используют

Пишем класс. В его объявлении указываем, что он будет реализовывать набор таких-то интерфейсов (тоже надо следить, чтобы у этих интерфейсов не совпадали названия методов). В классе объявляем и реализуем все методы этих интерфейсов. С этой секунды наш класс становится представителем любого из реализованных в нем интерфейсов и может выступать в его роли.

==================

Зачем это надо?

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

2. Ну и там еще счетчик ссылок, и пр. Об этом в статьях прочитаете.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
2-1251711555
Franzy
2009-08-31 13:39
2009.10.25
Как передать в dll адрес процедуры?..


15-1251360949
Cyrax
2009-08-27 12:15
2009.10.25
Что означает термин "функциональная версия" сайта ?


15-1250873687
Student
2009-08-21 20:54
2009.10.25
WIN32.INDUC - шо за такое?


2-1251352990
Евгений Р.
2009-08-27 10:03
2009.10.25
Как изменить высоту строк tDbGrid?


15-1251430920
Slym
2009-08-28 07:42
2009.10.25
RDP через HTTP прокси




   Наверх