|
0 / 0 / 0
Регистрация: 29.06.2020
Сообщений: 19
|
|
Для чего нужны интерфейсы?24.07.2022, 01:13. Показов 5141. Ответов 91
Метки нет (Все метки)
Всем привет!
Я посмотрел вокруг и тоже решил позадавать тупые вопросы. Например, я не могу понять, зачем нужны интерфейсы как таковые? Что мешает реализовывать методы без использования интерфейсов? Почему-то большинство людей отвечают на этот вопрос в стиле "ну интерфейс - это такая штука, ей можно делать то-другое", а после вопроса "кто мешает делать то же самое без интерфейса? Вот убираешь "implements"... ии?" замолкают. Из всего, что я выяснил, у меня получилось два пункта: первое - по интерфейсу можно группировать разные объекты (например, запихнуть в ArrayList), второе - чтобы в большом проекте не провтыкать вещи, которые должен реализовывать определённый класс. Имеют ли мои выводы отношение к жизни и можно ли к ним добавить ещё что-то? Ну или ткните в умную литературу, только о том, что такое интерфейс и как его делать я и так начитался.
0
|
|
| 24.07.2022, 01:13 | |
|
Ответы с готовыми решениями:
91
Для чего нужны параметры метода? Return для хранения данных?
Для чего нужен абстрактные классы/интерфейсы? |
|
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
|
||||||||
| 02.08.2022, 15:35 | ||||||||
|
А если прикрутить, например, DynamicProxy и избавиться от передачи ссылки на вызываемый метод?
Без функциональных интерфейсов вовсе:
1
|
||||||||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
|||||||||
| 02.08.2022, 16:39 | |||||||||
Добавлено через 46 секунд
0
|
|||||||||
|
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
|
||||||
| 02.08.2022, 17:00 | ||||||
|
korvin_, ленивая инициализация немного мимо кассы. Скорее это паттерн Стратегия. Но какая-то кривая реализация без интерфейсов.
Без интерфейсов можно и так:
ToDoubleFunction'ы и пробегаться по ключам на instanceof, но все равно это криво и не расширяемо.
0
|
||||||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
|
| 02.08.2022, 20:17 | |
|
0
|
|
|
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
|
|
| 02.08.2022, 20:41 | |
|
korvin_, ваша реализация тоже не лишена данного недостатка - требуется явно передавать ссылку на метод. + Можно передать любой другой метод, вместо
area(), что приведет к нарушению контракта метода printArea().
0
|
|
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
||||
| 02.08.2022, 23:48 | ||||
|
0
|
||||
|
Модератор
|
|||||||||||||||||
| 03.08.2022, 21:26 | |||||||||||||||||
|
Кликните здесь для просмотра всего текста
Вот это
1
|
|||||||||||||||||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
||
| 04.08.2022, 11:04 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 25.07.2022
Сообщений: 7
|
|
| 11.08.2022, 12:40 | |
|
Добрый День, я осваиваю объектое программирование и задавал также себе вопрос, для чего нужны интерфейсы.
Подскажите пожалуйста с примером прстым зачем нужны интерфейсы. Вопрос чтобы лучше понять предназначение интерфейсов, а не дискутировать. Спасибо
0
|
|
|
Супер-модератор
|
|||||||||||
| 11.08.2022, 13:02 | |||||||||||
|
Berliner, вот классический пример на тему "абстрактные классы"
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 25.07.2022
Сообщений: 7
|
|
| 11.08.2022, 16:47 | |
|
спасибо за пример. Буду разбираться
0
|
|
| 11.08.2022, 16:47 | |
|
Для чего нужны custom Tags ? Struts для чего они нужны? Зачем нужны интерфейсы? Что такое Ant и Struts, и для чего нужны? Коллекции List/ArrayList: чем отличаются и для чего нужны? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
|
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
|
Вот представьте что вам дали бессмертие.
kumehtar 24.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время?
Никакой пенсии. Никакого нового. . .
|
сукцессия 41
anaschu 24.07.2026
Численная верификация бифуркации в агентной модели лесной сукцессии: от одного параметра к ансамблю
Автор: пользователь @Shumilov_AS | Раздел: Прикладная математика / Численные методы
Кратко. . .
|
|
сукцессия 40. Ансамблевая кластерная параметризаци, часть 1.
anaschu 24.07.2026
Пр# Сопровождение научной статьи ИИ-ассистентом: подготовка публикации и калибровка агентно-ориентированной модели сукцессии микоризных систем
**Полевые заметки о двухнедельной совместной работе**. . .
|
Теория всего 12. ВГК на планете в стратегической игре "терра"
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики
1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
|
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928
Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
|
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего
Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
|