Я думаю, что использование базового класса было бы очень полезно для набора классов, которые я определяю для приложения.В приведенном ниже (возможно, неправильном) примере я обрисовываю, что я собираюсь сделать: базовый класс, содержащий атрибут, который я не хочу определять несколько раз.В этом случае базовый класс определит базовую часть пути к файлу, которую каждый дочерний класс затем будет использовать для создания своих более конкретных путей.
Однако, похоже, мне нужно было бы ввестиparent_path
к __init__
методу дочерних классов в любом случае, независимо от использования одиночного наследования от базового класса.
import pathlib
class BaseObject:
def __init__(self, parent_path: pathlib.Path):
self.parent_path = parent_path
class ChildObject(BaseObject):
def __init__(self, parent_path: pathlib.Path, child_path: pathlib.Path):
super(ChildObject, self).__init__()
self.full_path = parent_path.joinpath(child_path)
class ChildObject2(BaseObject):
...
class ChildObject3(BaseObject):
...
Если это так, то есть ли причина использовать наследованиеиз базового класса, подобного этому, кроме как прояснить, что пытается сделать моя реализация?