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

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

Наследование - это мощный механизм переноса общих черт, но не все его понимают и умеют им пользоваться в целях переиспользования структур и механизмов.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB