建構式不是普通方法,所以有許多限制。
若當下情境用此手法會過於複雜,可試著採用替換建構式為工廠函式。

Pull Up Constructor Body
# Before
class Vehicle:
pass
class Car(Vehicle):
def __init__(self, make, model):
self.make = make
self.model = model
self.wheels = 4
class Truck(Vehicle):
def __init__(self, make, model):
self.make = make
self.model = model
self.wheels = 6
# After
class Vehicle:
def __init__(self, make, model, wheels):
self.make = make
self.model = model
self.wheels = wheels
class Car(Vehicle):
def __init__(self, make, model):
super().__init__(make, model, 4)
class Truck(Vehicle):
def __init__(self, make, model):
super().__init__(make, model, 6)