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

Почему я подумал, что наследование здесь напрашивается: Использование наследования позволяет отказаться

от постоянных определений одних и тех же штук в ините. Зачем мне десять раз переписывать self.name = name, если я могу сделать это один раз в родительском классе и забыть?

19 ответов

8 просмотров
k-k Автор вопроса

У меня общий родительский класс и несколько уровней наследования, каждый из которых расширяет родительский как надо, однако метод get_broken, например, годится только для объекта, но для существа уже понадобится метод fucking_die, а get_broken не просто не нужен, но и сотворит что-то не то.

k k
У меня общий родительский класс и несколько уровне...

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

k-k Автор вопроса
Ilya
ты так джавистом не стань, вот эти ребятам которым...

Где-то видел цитату что ООП в целом требует при описании банана заодно расписать джунгли и гориллу, которая этот банан держит, а иногда еще и гориллу, которая этот код написала.

k k
У меня общий родительский класс и несколько уровне...

если в твоей цепочке наследования появилось то, что тебе не нужно или мешает - ты где-то ошибься с иерархией

k-k Автор вопроса
Ilya
если в твоей цепочке наследования появилось то, чт...

Ну я вот конкретный довольно пример привел. Объект в общем или экипировка может быть сломана, но не может умереть. Существо, которое тоже материально, может умереть, но не может быть сломано. Вот после смерти, класс тела существа становится Game_Object и его уже можно сломать.

k k
Ну я вот конкретный довольно пример привел. Объект...

ну так ты как-то странно наследуешься, судя по всему game object должен быть прям базовым базовым, а его наследники уже конкретные штуки, в gameobject не должно быть всякого вот этого get_broken

k-k Автор вопроса
Ilya
если в твоей цепочке наследования появилось то, чт...

Я, если честно, в этой классовой архитектуре прям криминала не вижу какого-то. Да, определенные трудности есть, но на моем текущем уровне (когда только перестаешь пускать слюни, и то не всегда) это выглядит довольно интересным решением.

k-k Автор вопроса
Ilya
ну так ты как-то странно наследуешься, судя по все...

Ну то есть ты предлагаешь привлекать какую-то дополнительную сущность, для которой следует отдельно эти методы вносить.

k k
Ну то есть ты предлагаешь привлекать какую-то допо...

если ты задаешь себе вопрос: у всех наследников game object будет это метод? и ответ "нет", то конечно нужно

k-k Автор вопроса
Ilya
если ты задаешь себе вопрос: у всех наследников ga...

И вся грешноватость этого решения в том, что другой разработчик не будет ожидать что один метод тут работает, а тут — нет?

k k
И вся грешноватость этого решения в том, что друго...

вот когда про солид прочитаешь у тебя как раз этот вопрос щелкнет

k-k Автор вопроса
Ilya
вот когда про солид прочитаешь у тебя как раз этот...

Ну, то есть я просто что-то на уровне соглашения между разработчиками нарушаю? Совсем недавно читал хабр, где достаточно внятно было расписано про существование private методов и защищенных методов на уровне соглашения между разработчиками как раз.

k k
И вся грешноватость этого решения в том, что друго...

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

k-k Автор вопроса
Ilya
вот когда про солид прочитаешь у тебя как раз этот...

Ладно, тогда пойду читать. Если это вызовет во мне бурю эмоций — я вернусь. Спасибо.

k k
И вся грешноватость этого решения в том, что друго...

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

k-k Автор вопроса

Здорово, тогда все же попробую сначала сделать через жопу чтобы подивиться.

k k
Здорово, тогда все же попробую сначала сделать чер...

Вообще хороший способ понять как что в ООП работает это разобраться с патернами

k-k Автор вопроса
Ilya
Вообще хороший способ понять как что в ООП работае...

Ошибки и собственноручно творимая хтонь запоминаются очень хорошо...

k k
Ошибки и собственноручно творимая хтонь запоминают...

https://t.me/ru_python_beginners/2325721 когда-нибудь тебе пригодится

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

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

Вопрос по организации кода. Пилю свой велосипед логгер Есть у меня множество уровней сообщений. Я набрасываю сообщения в стринглист, а когда они нужны, вызываю их через функц...
Serjone
21
А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
я использую код C в коде CPP, отправляю с помощью websocket данные, если сервер есть то никаких проблем нет, но если сервер падает то весь код ломается, а надо чтобы просто не...
Vladimir
1
всем вопрос. есть функция, которая иногда в линуксе валится с исключением EConvertError Invalid argument to date encode на строке Result:=LocalToUtcDateTime(FileDateToDateTime...
Handatros
10
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
64
Ребят, всем привет)) Наш бэкенд настраивал sentry на проект на php на самых минимальных конфигах Сейчас бэкенд ушел с проекта - но сетри осталось Как можно его отключить? Дос...
Kozimjon Vakhobov
6
И из-за этого сужается карман. Нет свободного полёта. Они либо могут какой-то заточенный прикладной софт, либо какой-то простой системный написать. По шаблону. А, допустим, по...
КТ315
9
Всем привет! Подскажите, как решить проблему или из-за чего это происходит. У меня есть проблема в WebStorm (v.2024.1.3): я ставлю любую тему, и через какое-то время меняется ...
Alexander Sheigov
12
А с каким компилятором не будет ошибкой использовать асм вставки?
Replicant ~
14
что насчет пагинга? на осдеве непонятно(
Vi Chapmann 🪙
26
Карта сайта