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

Можно ли как-то вызвать метод дочернего класса из супер класса?

10 ответов

9 просмотров

Ты всегда вызываешь метод текущего типа объекта, кроме случая __

Супер класс не знает о дочерних, и не должен

Kirill Shikhalev
Супер класс не знает о дочерних, и не должен

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

smqwe
в питоне можно получить название всех дочерких кла...

Знать названия дочерних классов это просто фича для того чтобы не ебать себе мозги когда такое понадобится, но это не значит что ты можешь тащить какую-то логику из дочерних классов когда тебе захочется

Kirill Shikhalev
Знать названия дочерних классов это просто фича дл...

ну так никто об этом не говорит, просто утверждение не совсем корректное

.subclasses()

Кирилл- Автор вопроса

Есть базовый абстрактный класс, в котором не реализован метод сбора данных с апи и реализован обработчик ошибок при сборе этих данных Есть дочерний класс, который реализует метод сбора данных и использует этот обработчик ошибок. При реализации обработчика (в базовом классе) думал через self вызвать этот метод сбора, при определенной ошибке, вместо того чтобы передавать в обработчик ошибок метод В целом осознал что передавать функицю не так уж и плохо, даже более гибко получается

smqwe
.subclasses()

Так? class A: pass class B(A): pass print(A.subclasses())

Alex S
Так? class A: pass class B(A): pass pr...

нет, subclasses () tg убирает эти символы

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

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

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: 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
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
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта