我有两个类继承自同一个基类但不想互相玩,确实是年轻人。
class A() :
...
class B(A) :
...
class C(A) :
...
b=B()
c=C()
c.method(b)
给我一个 c 和 b 不一样的 TypeError,python 需要什么认为它们是一样的?是否应该实施一些 __SpecialThingIDontKnowAbout__ 属性/方法?还是有一些我缺少的类设计技巧
具体来说,我继承 TreeDict() 如下:
class TNode(TreeDict):
def __init__(self,*args,**kwargs) :
super(TNode, self).__init__(*args, **kwargs)
class LNode(TreeDict):
def __init__(self,*args,**kwargs) :
super(LNode, self).__init__(*args, **kwargs)
TN = TNode(); TN.A = 1
LN = LNode(); LN.A = 1
LN.attach('TN',TN)
给
Traceback (most recent call last):
File "JSONE.py", line 430, in <module>
LN.attach(TN)
TypeError: descriptor 'attach' requires a 'treedict.treedict.TreeDict' ...
object but received a 'type'
我确实知道孩子们属于“类型”并且需要“treedict^3”,但我如何让孩子们模仿这种行为?
编辑 :
嗯......它现在开始工作,并不是说我做了任何与我在撤消/重做历史中看到的不同的事情(谢谢大家)