我有一个基类,它具有两个类reader_a和writer_a的公共属性和函数。我有另外一组2个类reader_b和writer_b,它们用于相同的功能。基类由所有类继承。
file -A
class base class (abc.metadata)
#all common attributes
class reader(base class)
def read_image():
pass
class writer(base class)
def write_image()
pass
File B
class reader(base class)
def read_image():
pass
class writer (base class)
def write_image()
pass
在两个文件中的读取器和编写器类中抽象方法的最佳方法是什么,这样我就可以基于全局变量在它们之间动态切换?全局变量是根据用户输入的文件类型设置的
现在我单独调用函数,比如读取图像(使用文件a(,我使用fileA.read_image(文件路径(。如果文件类型是文件b,我应该如何接口我的方法来调用read_image?我在问如何定义像read_image((这样的api调用,它应该自动在两个文件之间选择函数。
假设您有base
的多个实现,并且您想决定(在运行时(使用哪一个,那么您需要这样的东西:
image_handler_type = os.getenv('image_handler','A')
if image_handler_type == 'A':
image_handler = AReader()
elif mage_handler_type == 'B':
image_handler = BReader()
...
# the main code uses image_handler without knowing the exact implementation
image_handler.read(...)