Skip to main content
 首页 » 编程设计

python之用继承抽象一个类

2025年05月04日23shangdawei

我仍在努力研究 Python 中的类继承,所以请耐心等待:如果我有两个非常相似的类:

class Red: 
    def print_color(self): 
        print('red') 
 
class Blue: 
    def print_color(self): 
        print('blue') 

继承这些类以创建抽象类(比如 Color)的正确方法是什么,该抽象类使用某种参数进行初始化,该参数决定使用哪个底层类?初始化后,我应该可以这样做:

>>> a = Color('red') 
>>> a.print_color() 
red 

请您参考如下方法:

要使所需的示例完全按原样工作,这就是您所需要的:

class Color: 
    def __init__(self, color): 
        self.color = color 
 
    def print_color(self): 
        print(self.color) 

没有继承,什么都没有。

如果您确实希望 Color('red') 生成 Red 类的实例,则 Color 只需要是一个工厂函数:

def Color(color): 
    constructors = {'red': Red, 'blue': Blue} 
    return constructors[color]() 

这里仍然不涉及继承。