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

В питоне есть интерфейсы? Если нет то почему?

17 ответов

30 просмотров

Интерфейсы чего

Sdtbekov-Baha Автор вопроса
Dan ☄
Интерфейсы чего

Интерфейсы в ООП как в жава?

Sdtbekov Baha
Интерфейсы в ООП как в жава?

Есть аналогичные реализации

Sdtbekov-Baha Автор вопроса

Есть. Прям как в банде четырех написано - "интерфейс это набор сигнатур методов". Обычно формадизуются выписыванием в документации или наследованием от типа Protocol

Sdtbekov Baha
Интерфейсы в ООП как в жава?

В джаве неправильные интерфейсы, они требуют при создании класса указывать все интерфейсы которым он удовлетворяет, хотя это можно делать как в го

Tishka17
Есть. Прям как в банде четырех написано - "интерфе...

О, раз уж ты упомянул, снова накину свой вопрос) В каких случаях оправдано наследование от классов, которые дочерние от Protocol?

K G
О, раз уж ты упомянул, снова накину свой вопрос) В...

Когда хочешь явно показать что твой класс реализует этот интерфейс. Например для статического анализа

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

Ну т.е. это чисто для декларативных целей? Технических необходимостей нет?

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

Я тоже так думал... а pyright при явном наследовании от протокола не проверяет, удовлетворяет ему класс или нет.

K G
О, раз уж ты упомянул, снова накину свой вопрос) В...

Чтобы требовать от класса реализацию протокола

Tishka17
Это проверяет флейк

флейк проверят типы??

decorator-factory
Я тоже так думал... а pyright при явном наследован...

Ты в протоколе не забывай писать raise NotImplementedError и норм будет

decorator-factory
флейк проверят типы??

Флейк проверяет абстрактные классы и лисков

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

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

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...
~
13
Недавно 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
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Карта сайта