在基类构造函数中为每个子类执行特定任务,可以通过以下步骤实现:
super()
函数来实现,super()
函数用于调用父类的构造函数。下面是一个示例代码,演示如何在基类构造函数中为每个子类执行特定任务:
class BaseClass:
def __init__(self):
# 通用的初始化代码
self.common_task()
def common_task(self):
# 执行通用任务的代码
print("Performing common task in base class")
class SubClass1(BaseClass):
def __init__(self):
super().__init__() # 调用基类的构造函数
# 子类1特定的初始化代码
self.subclass1_task()
def subclass1_task(self):
# 执行子类1特定任务的代码
print("Performing specific task in SubClass1")
class SubClass2(BaseClass):
def __init__(self):
super().__init__() # 调用基类的构造函数
# 子类2特定的初始化代码
self.subclass2_task()
def subclass2_task(self):
# 执行子类2特定任务的代码
print("Performing specific task in SubClass2")
# 创建子类对象并测试
sub_obj1 = SubClass1()
sub_obj2 = SubClass2()
输出结果:
Performing common task in base class
Performing specific task in SubClass1
Performing common task in base class
Performing specific task in SubClass2
在这个示例中,BaseClass
是基类,SubClass1
和SubClass2
是两个子类。基类的构造函数中包含了通用的初始化代码,即common_task()
方法。子类的构造函数中使用super().__init__()
调用基类的构造函数,并在子类的构造函数中添加了特定于子类的初始化代码,即subclass1_task()
和subclass2_task()
方法。
这种方法可以确保每个子类在创建对象时都会执行基类的通用初始化代码,并且可以在子类中添加特定的初始化任务。
领取专属 10元无门槛券
手把手带您无忧上云