Есть ли преимущества объявления и инициализации подкласса с помощью метода конструктора базового класса с параметрами:
class BaseClass(object):
def __init__(self, a, b):
self.a = a
self.b = b
class SubClass(BaseClass):
def __init__(self, a, b, c, d):
BaseClass.__init__(self, a, b)
# or super().
self.c = c
self.d = d
newSubClassInstance = SubClass("one", "two", "three", "four")
Более не использует параметры вообще и просто инициализируется следующим образом:
class BaseClass(object):
def __init__(self):
self.a = " "
self.b = " "
class SubClass(BaseClass):
def __init__(self):
self.c = " "
self.d = " "
newSubClassInstance = SubClass()
newSubClassInstance.a = "one"
newSubClassInstance.b = "two"
newSubClassInstance.c = "three"
newSubClassInstance.d = "four"
Или все зависит от того, как можно написать и использовать этот код в программе? Я в основном спрашиваю об ожиданиях; будет ли один лучше другого, если его попросят создать эту конкретную задачу в Python, например?