Skip to main content
 首页 » 编程设计

python之如何通过向多个类添加相同的方法来创建新的子类

2025年05月04日20zhenyulu

我有 5 个类,它们都是父类的子类。我想通过为每个类添加相同的方法来为每个类定义新的子类。有没有办法动态地做到这一点?这在 OOP 术语中有名称吗?

下面的 new_method 在所有情况下都是完全相同的,所以我想重复一遍。

class A(MySuperClass) 
class B(MySuperClass) 
class C(MySuperClass) 
class D(MySuperClass) 
 
class AAA(A): 
 
    def new_method(): 
        ... 
 
class BBB(B): 
 
    def new_method(): 
        ... 
 
class CCC(C): 
 
    def new_method(): 
        ... 
 
class DDD(D): 
 
    def new_method(): 
        ... 

请您参考如下方法:

您可以通过创建包含您的 new_method 的新类来解决重复问题,如下所示:

class A(MySuperClass) 
class B(MySuperClass) 
class C(MySuperClass) 
class D(MySuperClass) 
 
class Mixin(): 
    def new_method(): 
        pass 
 
class AAA(A, Mixin): 
    pass 

这称为多重继承。您可以在这里将继承视为特化机制和代码共享。