Вниз
Скачать: 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.011 c
15-1250843051
@!!ex
2009-08-21 12:24
2009.10.25
Как получить историю посещения браузеров?


15-1251484515
DVM
2009-08-28 22:35
2009.10.25
В Delphi 7 d Windows.pas ошибка что ли в RegEnumValueW?


15-1251518417
Nic
2009-08-29 08:00
2009.10.25
Западные Финансовые/Деловые СМИ


2-1251374212
08642
2009-08-27 15:56
2009.10.25
Сослаться на TIcon.Create


4-1219924369
=BuckLr=
2008-08-28 15:52
2009.10.25
Обновление ресурса версии




   Наверх