Итак, я сейчас пытаюсь написать сценарий, используя несколько классов и наследуя между ними. Проблема заключается в том, что при наследстве от моего базового (родительского) класса в базовых точках (ребенка) мне, кажется, придется написать значения по умолчанию, которые я снова указал в базе в конструкторе ребенка, почему я просто не могу использовать Super, чтобы взять значения ARG в базе и установить их в ARG в базовых расчетах. Еще большая проблема заключается в том, что при запуске кода с этими значениями по умолчанию в классе ребенка значения, которые должны передаваться из родительского класса, получают переопределение.
https://github.com/pinterbauer/numerisc ... ektion.git
Код: Выделить всё
class Base():
def __init__(self, arg1: int = 0, arg2: str = "", arg3: bool = False):
self.arg1 = arg1
self.arg2 = arg2
self.arg3 = arg3
def set_arg3(self):
self.arg3 = True
class BaseCalculations(Base):
def __init__(self, arg1: int = 0, arg2: str = "", arg3: bool = False): # why do i need the defaults again
super().__init__(arg1, arg2, arg3) # this super more or less does nothing it should override
# the default values in the constructor with values from Base
# using super
base = Base()
base.set_arg3()
calc = BaseCalculations()
print(calc.arg3) # prints False but should print True
Я также очень признателю любые отзывы об общей реализации классов в коде на GitHub, если у кого -то есть свободное время, чтобы просмотреть его.
Подробнее здесь:
https://stackoverflow.com/questions/795 ... from-super