我是python的新手。我有以下代码。**没有继承概念**。我猜组成有助于

时间:2016-04-12 07:54:12

标签: python python-2.7 inheritance composition

我有以下代码。我只需要打电话给bt.BT_ON。我不想使用继承概念。有什么方法可以实现它吗?

from __future__ import print_function
class tool(object):
    def BT_ON(self):
        print("BT on")
    def WIFI_ON(self):
        print("WIFI on")
class BTMGR(object):
    def __init__(self):
       self.tl = tool()

 bt=BTMGR()
 bt.BT_ON()

我尝试过关注,

class tool(object):
    def __init__(self,parent):
        print(parent)
        self.parent=parent
    def BT_ON(self):
        print("BT on")
    def WIFI_ON(self):
        print("WIFI on")
 class BTMGR(object):
    def __init__(self):
        self.tl = tool(self)
 class WIFIMGR(object):
    def __init__(self):
        self.tool = tool()

bt=BTMGR()
bt.BT_ON()

但它没有用。我不确切地知道要把什么放在“父母”身上。

我想使用BTMGR本身实例中的工具方法。没有重复BTMGR中的方法。

1 个答案:

答案 0 :(得分:2)

如果您想直接从tool班级使用班级BTMGR的方法,那么您别无选择,只能复制其定义:

class BTMGR(object):
    def __init__(self):
        self.tl = tool(self)
    def BT_ON(self):
        self.tl.BT_ON()

class WIFIMGR(object):
    def __init__(self):
        self.tool = tool()
    def WIFI_ON(self):
        self.tool.WIFI_ON()

bt = BTMGR()
bt.BT_ON()

wf = WIFIMGR()
wf.WIFI_ON()