Ricerca…


Diamond Problem - Esempio

Il problema del diamante è un problema comune nella programmazione orientata agli oggetti, mentre si utilizza multiple-inheritance .

Considera il caso in cui la class C è ereditata dalla class A e dalla class B Supponiamo che sia la class A che la class B abbiano un metodo chiamato foo() .

Quindi quando chiamiamo il metodo foo() , il compilatore non può identificare il metodo esatto che stiamo cercando di usare

  • foo() dalla class A
  • foo() dalla class B

Questo è chiamato fondamentalmente il problema dei diamanti. Ci sono alcune varianti di questo problema. Per evitare questo, ci sono diversi approcci. Java non consente l'ereditarietà multipla. Quindi il problema è evitato. Ma C ++ sta consentendo l'ereditarietà multipla, quindi devi stare attento all'utilizzo dell'ereditarietà multipla.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow