Ho una domanda teorica su come affrontare lo scenario seguente in una lingua che non consente l'ereditarietà multipla.Eredità multipla senza ereditarietà multipla e senza duplicazione del codice
Immaginate Ho una classe di base Foo e da esso sto volendo creare tre sottoclassi:
- Classe Bar eredita Foo e implementa la funzionalità "A"
- Class Baz eredita Foo e implementa la funzionalità "B"
- Classe Qux eredita Foo ed implementa le funzionalità "A" e "B"
Immaginate che il codice per implementare funzionalità "A" e "B" è sempre la stessa. C'è un modo per scrivere il codice per "A" e "B" solo una volta, e poi applicare le classi appropriate (o "ereditarlo")?
Qualsiasi lingua particolare? Giava? C#? Qualcos'altro? – Tudor
Perché non si sta implementando la stessa funzionalità all'interno della classe FOO e si contrassegna A/B come virtuale/sovrascrivibile? – YavgenyP
@Tudor Pensava in C# ma qualsiasi linguaggio OOP che non consenta l'ereditarietà multipla va bene. –