, 나는 상속 관계 B -> C -> D
있고, 특정 기능 여기에 관심python 다중 상속에서 한 부모가 그 부모가 무엇인지 모른 채 다른 부모에게 액세스 할 수 있습니까? 내 코드에서
class C(B):
def f(self):
if <some condition>:
B.f(self)
else:
<do other stuff>
의 f
가 그리고 문제는 현실에서 B
의 여러 가능성이 있다는 것입니다,하지만 C
의 논리는 똑같다. 직선적 인 방법은 선형 상속을 여러 번 사용하는 것입니다. 즉,
B1 -> C1 -> D1
B2 -> C2 -> D2
B3 -> C3 -> D3
그러나 낭비입니다. 그럼 난 다중 상속을 사용하여 생각하고
D1(C, B1)
D2(C, B2)
D3(C, B3)
그런 문제가 얼마나 않습니다 (B2
에 대한 동일 B3
) C.f()
액세스 B1.f()
단지 D1
를 통해 B1
의 존재를 알고 있기 때문에?
이 경우 다중 상속을 사용하는 것은 좋지 않습니까? 아니면 다중 C
과 직계 선형 상속과 다중 상속 (작동하는 경우)보다 나은 방법이 있습니까?