要实现一个“包含派生类列表的类”,可以使用以下代码示例:
class BaseClass:
def __init__(self):
self.derived_classes = []
def add_derived_class(self, derived_class):
if isinstance(derived_class, BaseClass):
self.derived_classes.append(derived_class)
else:
raise TypeError("Only instances of BaseClass can be added as derived classes.")
def print_derived_classes(self):
for derived_class in self.derived_classes:
print(derived_class)
class DerivedClass1(BaseClass):
def __str__(self):
return "DerivedClass1"
class DerivedClass2(BaseClass):
def __str__(self):
return "DerivedClass2"
# 创建一个包含派生类列表的类的实例
base = BaseClass()
# 添加派生类实例到列表中
base.add_derived_class(DerivedClass1())
base.add_derived_class(DerivedClass2())
# 打印派生类列表
base.print_derived_classes()
在上面的代码中,我们定义了一个名为BaseClass
的基类,其中包含一个名为derived_classes
的列表属性。add_derived_class
方法用于将派生类实例添加到列表中,而print_derived_classes
方法用于打印派生类列表中的所有派生类实例。
然后,我们定义了两个派生类DerivedClass1
和DerivedClass2
,它们都继承自BaseClass
。
最后,我们创建了一个BaseClass
的实例base
,并将DerivedClass1
和DerivedClass2
的实例添加到base
的派生类列表中。最后,我们调用base.print_derived_classes()
方法打印出派生类的列表。
运行上述代码示例,将会输出以下结果:
DerivedClass1
DerivedClass2
这表明成功地实现了一个“包含派生类列表的类”。