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

Подскажите, можно ли как-то изменить/расширить перечень параметров у наследованного и

переопределённого метода?
Может через интерфейсы можно как-то такое сделать? Может я не туда думаю, тут какой-то паттерн сработает?
Хочется сделать универсальный абстрактный общий класс для функциональности, а в каждой конкретной задаче будет свой класс-наследник и свой перечень параметров.

15 ответов

10 просмотров

Наследуйся и в наследнике херачь нужные методы

Alex- Автор вопроса
Belial
Наследуйся и в наследнике херачь нужные методы

я хочу использовать те же методы, но с другими параметрами

А в чем тогда абстрактность, если нужно знать про конкретные параметры какого-либо метода? Это фактически знание о конечном типе ссылки, какого бы общего типа она не была и следовательно статическая зависимость вызывающей программы от конечной реализации

нет, иначе бы это нарушало ООП

Сергій Netchaev
нет, иначе бы это нарушало ООП

Перегрузки, перегрузки, перегрузочки мои хД

Belial
Перегрузки, перегрузки, перегрузочки мои хД

ну и какое отношение это имеет к ООП? это скорее способ отвязаться от строгой типизации, типа как читерство )

Только через генерик типизацию. В дочерних классах ассигном типизировать

ну ты можешь ввести избыточные параметры в базовом классе, либо создать более специфичные методы в наследнике, который используют базовую или переопределенную функциональность

Денис
Тссс! Не мешай рождению god-object)

первая половина, как раз первый шаг на этом пути

Alex- Автор вопроса
Dmitry B
А в чем тогда абстрактность, если нужно знать про ...

Я тоже не понимаю смысла такой абстракции, что я не могу переопределить список параметров. Единственная догадка, что от такого может поломаться кастование и м.б. ещё что-то.

Сергій Netchaev
первая половина, как раз первый шаг на этом пути

а дальше как повезет: у кого нургл, у кого слаанеш получается 😂

Alex
Я тоже не понимаю смысла такой абстракции, что я н...

В таком случае откажись от параметров совсем. Внутри самого метода обращайся к полям объектов.

Alex
Я тоже не понимаю смысла такой абстракции, что я н...

Перечисление списка параметров в явном виде является прямой зависимостью от конкретного типа. Своеобразный даункаст. Следовательно, никакого абстрагирования. С конструкторами то же самое. Чтобы вызвать конструктор, нужно явно указать конечный тип

Alex
Я тоже не понимаю смысла такой абстракции, что я н...

ну тут все просто - ты не понимаешь что такое абстракция в ООП в принципе

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
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
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно 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
Карта сайта