У меня есть родительский класс:
class BaseClass:
def __init__(self, foo, bar=10):
self.foo = foo
И унаследованный от него класс:
class InheritedClass(BaseClass):
def __init__(self, x, y, bar=10):
super().__init__(True, bar=bar)
self.x = x
self.y = y
На данный момент bar
имеет значение по умолчанию как в родительском, так и в унаследованном классе, которое я должен отслеживать, чтобы убедиться, что они оба синхронизированы. Как я могу изменить конструктор InheritedClass
, чтобы вместо него использовать значение по умолчанию для bar
, определенное в BaseClass
?
Я пробовал:
class InheritedClass(BaseClass):
def __init__(self, x, y, bar=None):
if bar is None:
super().__init__(True)
else:
super().__init__(True,bar)
self.x = x
self.y = y
, который обеспечивает поведение, которое я ищу, но не кажется очень масштабируемым. Есть ли лучший способ?