在Python中有没有触发子对象的方法?所以我的意思是:
class A(object):
def a(self):
print("Hello from A")
# ???
class B(A)
def b(self):
print("Now in B")我需要从类A触发b()函数,而A只“知道”B类扩展到它
我想将它用于插件之类的事件,所以会有一些带有扩展主类的类的模块,我将从这些模块中触发插件中的事件
发布于 2021-06-24 20:23:46
您可以将抽象插件类型定义为可以调用函数的接口:
class AbstractPlugin(object):
def trigger(self):
pass
class APlugin(AbstractPlugin):
def trigger(self):
print("This is plugin A")
class BPlugin(AbstractPlugin):
def trigger(self):
print("This is plugin B")使用你的A类,你可以这样做:
class A(object):
def a(self, plugin: AbstractPlugin):
print("Hello from A")
plugin.trigger()
master = A()
plugin_a = APlugin()
plugin_b = BPlugin()
master.a(plugin_a)
master.a(plugin_b)这将导致:
Hello from A
This is plugin A
Hello from A
This is plugin Bhttps://stackoverflow.com/questions/68115635
复制相似问题