在 类 之间动态切换包含相似的功能

Dynamic switching between classes which contain similar functions

我有一个基础摘要 class 和 2 个子 classes(Reader_a 和 Writer_a)。我有另一组 classes (reader_b,writer_b),它们继承自相同的基础 class。 writer_a writer_b 和 reader_a 和 reader_b 服务相同但处理不同类型的图像,基本上它们有不同的后端。 python 中是否有任何功能可以让我根据用户输入的图像类型切换这些 classes?

我将向基础 class 添加两个工厂(静态)方法,它们将检查类型并相应地创建正确的子 class。

class Base:
    @staticmethod
    def create_reader(image):
        if image == 'A':
            return Reader_a()
        elif image == 'B':
            return Reader_b()
        else:
            raise Exception('Unknown image')

    @staticmethod
    def create_writer(image):
        if image == 'A':
            return Writer_a()
        elif image == 'B':
            return Writer_b()
        else:
            raise Exception('Unknown image')