Вниз
Скачать: 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.013 c
15-1250973006
Юрий
2009-08-23 00:30
2009.10.25
С днем рождения ! 23 августа 2009 воскресенье


6-1207567582
Real
2008-04-07 15:26
2009.10.25
FTP индикация закачки больших файлов


2-1251725937
Rembo
2009-08-31 17:38
2009.10.25
IdHttp.Post мультистрочная переменная


2-1250751050
kyn66
2009-08-20 10:50
2009.10.25
Исчезает окно предупреждения.


2-1251037909
Начинающий17
2009-08-23 18:31
2009.10.25
работа с файлом




   Наверх