от постоянных определений одних и тех же штук в ините. Зачем мне десять раз переписывать self.name = name, если я могу сделать это один раз в родительском классе и забыть?
У меня общий родительский класс и несколько уровней наследования, каждый из которых расширяет родительский как надо, однако метод get_broken, например, годится только для объекта, но для существа уже понадобится метод fucking_die, а get_broken не просто не нужен, но и сотворит что-то не то.
ты так джавистом не стань, вот эти ребятам которым чтоб класс юзер написать, надо написать классы существо и человек
Где-то видел цитату что ООП в целом требует при описании банана заодно расписать джунгли и гориллу, которая этот банан держит, а иногда еще и гориллу, которая этот код написала.
если в твоей цепочке наследования появилось то, что тебе не нужно или мешает - ты где-то ошибься с иерархией
Ну я вот конкретный довольно пример привел. Объект в общем или экипировка может быть сломана, но не может умереть. Существо, которое тоже материально, может умереть, но не может быть сломано. Вот после смерти, класс тела существа становится Game_Object и его уже можно сломать.
ну так ты как-то странно наследуешься, судя по всему game object должен быть прям базовым базовым, а его наследники уже конкретные штуки, в gameobject не должно быть всякого вот этого get_broken
Я, если честно, в этой классовой архитектуре прям криминала не вижу какого-то. Да, определенные трудности есть, но на моем текущем уровне (когда только перестаешь пускать слюни, и то не всегда) это выглядит довольно интересным решением.
Ну то есть ты предлагаешь привлекать какую-то дополнительную сущность, для которой следует отдельно эти методы вносить.
если ты задаешь себе вопрос: у всех наследников game object будет это метод? и ответ "нет", то конечно нужно
И вся грешноватость этого решения в том, что другой разработчик не будет ожидать что один метод тут работает, а тут — нет?
вот когда про солид прочитаешь у тебя как раз этот вопрос щелкнет
Ну, то есть я просто что-то на уровне соглашения между разработчиками нарушаю? Совсем недавно читал хабр, где достаточно внятно было расписано про существование private методов и защищенных методов на уровне соглашения между разработчиками как раз.
В том, что итерируясь по списку сущностей отнаследованных от единого класса, я ожидаю, что все сущности имеют метод родителя.
Ладно, тогда пойду читать. Если это вызовет во мне бурю эмоций — я вернусь. Спасибо.
Вся грешноватость в том что при использовании это может ломаться в неожиданных местах
Здорово, тогда все же попробую сначала сделать через жопу чтобы подивиться.
Вообще хороший способ понять как что в ООП работает это разобраться с патернами
Ошибки и собственноручно творимая хтонь запоминаются очень хорошо...
https://t.me/ru_python_beginners/2325721 когда-нибудь тебе пригодится
Обсуждают сегодня