Вниз
Скачать: 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-1251360134
Student85236
2009-08-27 12:02
2009.10.25
idhttp1.Get зависает


2-1251370302
Ak47
2009-08-27 14:51
2009.10.25
Оптимищация


15-1250875581
DillerXX
2009-08-21 21:26
2009.10.25
Аудио системы


4-1220075003
DAS
2008-08-30 09:43
2009.10.25
Как сохранить Html страницу в *.txt зная его URL


2-1251356970
Priest
2009-08-27 11:09
2009.10.25
Как определить, что работаем под 64 разрядной виндой




   Наверх