|
0 / 0 / 0
Регистрация: 18.02.2012
Сообщений: 30
|
|
В чем суть интерфейсов?11.06.2012, 21:32. Показов 7312. Ответов 6
Метки нет (Все метки)
За день я в интернете начиталась столько всего про интерфейсы, что запуталась до нельзя!!!
И так, звучит главный вопрос: в чем же суть интерфейсов, в чем плюсы, в чем минусы?
0
|
|
| 11.06.2012, 21:32 | |
|
Ответы с готовыми решениями:
6
Понять суть интерфейсов В чём заключается суть интерфейсов?
|
|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
|
| 11.06.2012, 21:51 | |
|
Тут читали?)
Если вы делаете что то, что работает с чем то, вы можете объявить интрфейс что бы бть уверенным что этот объект будет точно содержать данный метод. Например, вы делаете класс для запуска какого либо модуля. Вы берёте все модули сайта и вызываете у них функцию например init(). Если кто то хочет написать модуль, он должен написать эту функцию, так как ваш класс будет её вызывать. для этого вы можете объявить интерфейс IModule который обязует классы который наследуют этот интерфейс иметь данный метод. Вообщем то это чисто для того что бы программист по запарке не забыл какой то метод прописать в классе, который сразу может и не нужен, но где то в приложении запустится. И потом могут вылезти ошибки. Так же это гарантирует другим разработчикам, которые захотят что то делать с модулями другими, что те модули содержат метод init() и они могут не боясь его вызывать.
0
|
|
|
0 / 0 / 0
Регистрация: 18.02.2012
Сообщений: 30
|
|
| 11.06.2012, 22:04 [ТС] | |
|
Поздравляю, вы запутали меня еще больше :/
Добавлено через 46 секунд Что ж, спасибо за попытку
0
|
|
|
1178 / 1128 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
|
||||||||||||||||||||||||||||||||||||||||||||||
| 11.06.2012, 23:09 | ||||||||||||||||||||||||||||||||||||||||||||||
Сообщение было отмечено как решение
Решение
Представь игру MMORPG.
Есть мобы. Мобы могут бегать, прыгать, драться. Теперь представь что ты пишешь нового моба для игры. В игре всех мобов обрабатывают какие то классы, они берут в цикле и перебирают всех мобов вызываю у них функцию обновления. Пусть будет Update(). Просто класс
Его запускает что то, например
мы бежим, тут появляется наш моб, и вызывается для него функция Update()! Но у него нет этой фукнции, ты опечатался при наборе, и игра упала ![]() Теперь представим что тот кто делал класс World решил подстраховаться, он сделал интерфейс с медобом Update() и при добавлении моба в массииу, он проверит, есть ли у моба данный интерфейс? Если нет, то он выведет в лог ошибку, а моба не добавит в список. Теперь если ты не указал мобу своиму интерфейс, он просто не добавится в список, а в лог посыпятся ошибки. Игра не упадёт. с другйо стороны, если ты указал мобу что у него есть интерфейс IMob но не реализовал функцию или опечатался, то игра даже не скомпилируется, так как комплятор сразу определить что у тебя не реализован такой то метод который есть в интерфейсе. Ты сразу поправишь свою ошибку и все довольны ![]() Добавлено через 12 минут
Ну вот так ты не поломаешь игру Так как она даже не стартанёт, пока не исправишь. А если бы небыло проверки.
Вот для этого они и нужны.
4
|
||||||||||||||||||||||||||||||||||||||||||||||
|
0 / 0 / 0
Регистрация: 18.02.2012
Сообщений: 30
|
|
| 11.06.2012, 23:35 [ТС] | |
|
Что ж думаю до меня уже начинает что-то доходить
![]() Спасибо тебе и низкий поклон
0
|
|
|
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
|
|
| 12.06.2012, 07:15 | |
Сообщение было отмечено как решение
Решение
me.mamba, Если хотите, еще один пример. Возможно, он не очень звучный, но понятный.
Есть два интерфейса:
Класс Топор реализует интерфейс IБросабельное, поэтому его можно бросить, но нельзя на него сесть. А вот класс Табурет реализует оба интерфейса - на него можно сесть, и его можно бросить.
3
|
|
|
26 / 26 / 1
Регистрация: 30.09.2011
Сообщений: 196
|
||
| 12.06.2012, 14:20 | ||
Либо они спользуются в проекте либо нет.
0
|
||
| 12.06.2012, 14:20 | |
|
Помогаю со студенческими работами здесь
7
В чем суть continue в if-else
подскажите в чем суть программы? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга,
Ты же видел моря и метели.
Как сменялись короны и стяги,
Как эпохи стрелою летели.
- Этот мир — это крылья и горы,
Снег и пламя, любовь и тревоги,
И бескрайние. . .
|