我有一个泛型类UsbLib
,我想用它作为一个简单的干净API。然而,我希望这个类成为另一个类视情况而定
class UsbLib:
def __new__(self):
if this_is_latest_ubuntu():
return UsbUDisks2() # Doesn't work
class UsbUDisks2(UsbLib):
def list_devices():
print("Listing devices..")
例如,如果我在Ubuntu中运行下面的代码
lib=UsbLib()
我希望它在内部解决
lib=UsbUDisks2()
我该怎么做
你最好用一些factory pattern.
以最简单的形式:
你正在寻找一种叫做工厂模式的东西。 简单地说,您不直接实例化类,而是调用一个函数,该函数执行逻辑并将正确的类/对象返回给您使用
或者更好的方法是,使用一个公共父级并在该父级中使用静态方法来获得正确的子级
相关问题 更多 >
编程相关推荐