我有一个名为PowerControl的python类,其中构造函数实例化了另一个名为PowerControlA的类。是否可以以将PowerControl对象视为PowerControlA对象的方式实例化PowerControl?当前,我将PowerControlA实例化为PowerControl的self.A。
编辑:当前,这是PowerControl类的实例。我希望PowerControl对象在实例化并传入参数后充当PowerControlA或PowerControlB。
class PowerControl:
def __init__(self, type="SN"):
if "SN" in type:
print("A")
self.pwr = PowerControlA()
else:
print("B")
self.pwr = PowerControlB()
答案 0 :(得分:0)
您正在谈论继承与组合。这种关系既可以是“是”关系,也可以是“具有”关系。
如果false
继承自PowerControl
,则PowerControlA
“是” PowerControl
。那是继承。
PowerControlA
如果class PowerControl(PowerControlA):
# stuff
实例化PowerControl
,则self.A = PowerControlA()
“有” PowerControl
。这就是组成。
PowerControlA
如果没有更好地说明问题,您将很难说出您实际上想使用的哪一个。