Текущий архив: 2009.10.25;
Скачать: 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 вся ветка
Текущий архив: 2009.10.25;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.046 c