首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在另一个Python类构造函数中实例化Python类?

如何在另一个Python类构造函数中实例化Python类?
EN

Stack Overflow用户
提问于 2018-07-21 04:59:18
回答 1查看 147关注 0票数 0

我有一个名为PowerControl的python类,其中的构造函数实例化了另一个名为PowerControlA的类。是否有可能以这样的方式实例化PowerControl,使我可以将PowerControl对象视为PowerControlA对象?目前,我正在将PowerControlA实例化为PowerControl的self.A。

EDIT:当前是PowerControl类的实例化。我希望PowerControl对象在实例化并传入参数后充当PowerControlA或PowerControlB。

代码语言:javascript
复制
class PowerControl:

def __init__(self, type="SN"):
    if "SN" in type:
        print("A")
        self.pwr = PowerControlA()
    else:
        print("B")
        self.pwr = PowerControlB()
EN

回答 1

Stack Overflow用户

发布于 2018-07-21 05:04:54

你说的是继承还是组合。这要么是一种“是-a”关系,要么是一种“有-a”关系。

如果PowerControl继承自PowerControlA,那么PowerControl "is-a“PowerControlA。这是继承。

代码语言:javascript
复制
class PowerControl(PowerControlA):
    # stuff

如果PowerControl实例化了self.A = PowerControlA(),那么PowerControl“有-a”PowerControlA。这就是构图。

代码语言:javascript
复制
class PowerControl(object):
    def __init__(*args, **kwargs):
        self.A = PowerControlA(*args, **kwargs)  # maybe

    # stuff

如果没有更好地说明问题,你不可能说出你真正想要使用的是哪一个。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51450298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档