Python 3.6Python继承结构
我刚刚发现自己编程这种类型的继承结构(下面)。子类正在调用对象的方法和属性的父类has
。
在我的使用情况下,我将在class A
代码,否则将丑class B
。
几乎像一个反向继承来电或东西,这似乎不是个好主意......(Pycharm似乎并不喜欢它)
有人请解释什么是最好的做法在这种情况下?
谢谢!
class A(object):
def call_class_c_method(self):
self.class_c.do_something(self)
class B(A):
def __init__(self, class_c):
self.class_c = class_c
self.begin_task()
def begin_task(self):
self.call_class_c_method()
class C(object):
def do_something(self):
print("I'm doing something super() useful")
a = A
c = C
b = B(c)
输出:
I'm doing something super() useful
为什么你有类C,当你可以把do_something直接放在类A中? – Kishan
“在我的使用情况下,我把在A类代码,否则将在B类丑” –
有什么理由会做这样的事?这是一个反模式的定义。你正在调用类B的 – zwer