169 похожих чатов

Привет! может кто-нибудь в 2х словах сказать для чего нужны

интерфейсы? можно в личку...

16 ответов

19 просмотров

гугл

Если совсем коротко - множественное наследование и контракты.

Viktor
Если совсем коротко - множественное наследование и...

Интерфейсами не достигается множественное наследование

Sergey-Filimonov Автор вопроса
jdk 18
гугл

никак не доходит... все говорят и пишут только как использовать... вопрос для чего?

Sergey Filimonov
никак не доходит... все говорят и пишут только как...

Для построения гибкой архитектуры, применения паттернов

Дмитрий
Интерфейсами не достигается множественное наследов...

Кому как. У меня есть основания считать, что это своеобразная реализация МН. Возможно, не классическая хардкорная, но сути не меняет

Sergey Filimonov
никак не доходит... все говорят и пишут только как...

https://docs.oracle.com/javase/tutorial/java/concepts/interface.html Тут, с примером

Sergey-Filimonov Автор вопроса
jdk 18
самое простое - полиморфизм.

тоесть там где нужно будет переопределять методы???

Sergey Filimonov
тоесть там где нужно будет переопределять методы??...

Реализовывать их. Интерфейс максимально абстрактен, что и делает его таким гибким

Sergey Filimonov
тоесть там где нужно будет переопределять методы??...

В частности. Возьмем грубый пример. У тебя интернет магазин. Ты продаешь физические и цифровые товары. Допустим диван и антивирус. Товары вообще разные! Чтобы как-то это связать, можно сделать интерфейс, допустим Saleable, в нем метод sale. Далее, товарам имплементишь его и реализуешь уже этот метод. Это тебе дает гибкость - ты можешь создавать объекты типа Saleable (привет, полиморфизм), хранить их в коллекциях, что-то с ними делать в общем и целом, при этом, тебе пофигу, что там на самом деле. То есть, ты просто сделал что-то типа контракта - если товар имплементирует Saleable, значит, ты можешь его продать, у него точно есть метод sale. А когда будешь писать логику движения товаров - тебе достаточно будет взять Saleable, и не писать для каждого товара свою логику.

Viktor
Кому как. У меня есть основания считать, что это с...

Интерфейсы не наследуются, а реализуются.

Дмитрий
Интерфейсы не наследуются, а реализуются.

Не инвалид, а человек с ограниченными возможностями. Суть та же

Sergey-Filimonov Автор вопроса
Дмитрий
Интерфейсы не наследуются, а реализуются.

но они же могут другдруга наследовать

Sergey-Filimonov Автор вопроса
Viktor
В частности. Возьмем грубый пример. У тебя интерне...

ок... сделали Saleable сложили в лист например для каких задач это нужно делать... какойнибудь пример можешь?

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта