Szukaj…


Problem z diamentem - przykład

Problem z diamentem jest częstym problemem występującym w programowaniu obiektowym przy użyciu multiple-inheritance .

Rozważ przypadek, w którym class C jest dziedziczona z class A i class B Załóżmy, że zarówno class A i class B mają metodę o nazwie foo() .

Następnie, gdy wywołujemy metodę foo() , kompilator nie może zidentyfikować dokładnej metody, której próbujemy użyć

  • foo() z class A
  • foo() z class B

Zasadniczo jest to nazywane problemem diamentowym. Istnieje kilka wariantów tego problemu. Aby tego uniknąć, istnieje wiele podejść. Java nie pozwala na wielokrotne dziedziczenie. Dlatego unika się problemu. Ale C ++ pozwala na wielokrotne dziedziczenie, dlatego należy zachować ostrożność przy stosowaniu wielokrotnego dziedziczenia.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow