Уведомления

Группа в Telegram: @pythonsu

#1 Июль 18, 2021 14:46:37

Yaroslam322
Зарегистрирован: 2020-02-24
Сообщения: 18
Репутация: +  0  -
Профиль   Отправить e-mail  

ООП наследование структура класса

Имеется несколько классов, все они наследуются от одного и того же класса из библиотеки, однако каждый из моих классов имеет два одинаковых метода, в которых в зависимости от класса меняется лишь пара строчек. Не уверен что такой подход правильный. Правильно ли будет наследовать эти классы от какого нибудь еще класса, который бы имел в себе только эти два метода? Как это выглядит описано в коде

 class className1(ParentClass):
    def __init__(self):
        ...
    def close(self):
        some code
    def open(sels):
        some code
class className2(ParentClass):
    def __init__(self):
        ...
    def close(self):
        some code
    def open(sels):
        some code

Офлайн

#2 Июль 18, 2021 15:54:14

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9716
Репутация: +  842  -
Профиль   Отправить e-mail  

ООП наследование структура класса

Yaroslam322
Правильно ли будет наследовать эти классы от какого нибудь еще класса, который бы имел в себе только эти два метода?
Это не критерий наследования. Если у тебя есть класс, то это множество объектов, объединённых в этом множестве за счёт одинаковой структуры и одинакового поведения. Каждый объект является целостным, завершённым и отделённым от других объектов. Нет полуобъекта, третьобъекта и подобных. Поэтому надо смотреть не на набор методов или свойств, а на то, что это такое по своей сути. Оно является чем-то? Оно выражает какую-то определённую сущность? Только тогда ты можешь выделить это в отдельный класс. И когда у тебя получен такой класс, тогда ты его можешь встраивать в иерархию классов.

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



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version