Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.061 c
15-1250873584
blackman
2009-08-21 20:53
2009.10.25
Российский программист: ничего особенного


15-1250750943
balepa
2009-08-20 10:49
2009.10.25
USB A to USB A (male/male) и Huawei ETS1200


2-1250843104
alshtam
2009-08-21 12:25
2009.10.25
подключение dll


15-1250967890
@!!ex
2009-08-22 23:04
2009.10.25
Linux -это всегда OpenSource?


2-1251978697
Nilman
2009-09-03 15:51
2009.10.25
поменять внешний вид TComboBox





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский