我有种感觉我已经看到了这个地方,但我不再确定是否这是一个重新构成的存储器,或者如果它确实存在。 在任何情况下,我找不到一个参考这种情况:
class A:
a = 1
class B(A): # should have it's own class attribute 'a'
pass
class C(A): # should have it's own class attribute 'a' and newly defined 'c'
c = 3
在上述例子中, A.a is B.a is C.a
. 但是,其实我希望他们能独立,同时保持这种结构。 这是一个很好的理由为这个我不想要讨论的实例的变量。 其中的原因是,在我用所有这些课程被用作'的名字空间'. 要解决的'问题',我代替 A
继承部分通过复制本身,因为(pseudo code):
class A:
a = 1
class B(A): # B.a resolves to A.a
pass
class C(A): # C.a resolves to A.a
c = 3
copy_func(B.A, A) # investigates public attrs of A and B and create copies, now B.a is not A.a
copy_func(C.A, A) # investigates public attrs of A and B and create copies, now C.a is not A.a
copy_func
版本...但是它仍然是一个很好的答案。