我有以下代码。我只需要打电话给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中的方法。
答案 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()