Articles of multiple inheritance

In che modo le interfacce possono sostituire la necessità di ereditarietà multipla quando hanno classi esistenti

Prima di tutto … Mi dispiace per questo post. So che ci sono molti molti post su StackOverflow che stanno discutendo l’ereditarietà multipla. Ma so già che Java non supporta l’ereditarietà multipla e so che usare le interfacce dovrebbe essere un’alternativa. Ma non capisco e vedo il mio dilemma: Devo apportare modifiche a uno strumento […]

Eredita le interfacce che condividono il nome di un metodo

Ci sono due classi base con lo stesso nome di funzione. Voglio ereditarli entrambi e superare ogni metodo in modo diverso. Come posso farlo con dichiarazione e definizione separate (invece di definire nella definizione della class)? #include class Interface1{ public: virtual void Name() = 0; }; class Interface2 { public: virtual void Name() = 0; […]

Perché esattamente ho bisogno di un upcast esplicito quando si implementa QueryInterface () in un object con più interfacce ()

Supponiamo che abbia una class che implementa due o più interfacce COM: class CMyClass : public IInterface1, public IInterface2 { }; Quasi tutti i documenti che ho visto suggeriscono che quando implemento QueryInterface () per IUnknown ho esplicitamente trasmesso questo puntatore a una delle interfacce: if( iid == __uuidof( IUnknown ) ) { *ppv = […]

Come posso evitare il diamante della morte quando si utilizza l’ereditarietà multipla?

http://en.wikipedia.org/wiki/Diamond_problem So cosa significa, ma quali misure posso adottare per evitarlo?

Come creare una class Java che implementa un’interfaccia con due tipi generici?

Ho un’interfaccia generica public interface Consumer { public void consume(E e); } Ho una class che consuma due tipi di oggetti, quindi mi piacerebbe fare qualcosa come: public class TwoTypesConsumer implements Consumer, Consumer { public void consume(Tomato t) { ….. } public void consume(Apple a) { …… } } Apparentemente non posso farlo. Naturalmente posso […]

In che modo le interfacce Java simulano l’ereditarietà multipla?

Sto leggendo “The Java Tutorial” (per la 2a volta). Ho appena consultato la sezione Interfacce (di nuovo), ma ancora non capisco come le interfacce Java simulino l’ereditarietà multipla. C’è una spiegazione più chiara di quella contenuta nel libro?

Multiple ereditarietà / prototipi in JavaScript

Sono arrivato a un punto in cui ho bisogno di avere una sorta di ereditarietà multipla rudimentale in corso in JavaScript. (Non sono qui per discutere se questa è una buona idea o no, quindi per favore mantieni gentilmente quei commenti a te stesso). Voglio solo sapere se qualcuno ha tentato questo con qualsiasi (o […]

Perché l’ereditarietà multipla non è consentita in Java o C #?

So che l’ereditarietà multipla non è consentita in Java e C #. Molti libri dicono solo che l’ereditarietà multipla non è consentita. Ma può essere implementato usando le interfacce. Nulla viene discusso sul motivo per cui non è permesso. Qualcuno può dirmi esattamente perché non è permesso?

Perché utilizzare le interfacce, l’ereditarietà multipla e le interfacce, i vantaggi delle interfacce?

Ho ancora un po ‘di confusione su questa cosa. Quello che ho trovato fino ad ora è (Domande simili sono già state poste qui, ma stavo avendo altri punti.) L’interfaccia è raccolta di SOLO metodi astratti e campi finali. Non c’è eredità multipla in Java. Le interfacce possono essere utilizzate per ottenere l’ereditarietà multipla in […]

Ereditarietà multipla in C #

Dal momento che l’ereditarietà multipla è ctriggers (rende la fonte più complicata) C # non fornisce direttamente tale modello. Ma a volte sarebbe utile avere questa capacità. Ad esempio, sono in grado di implementare il modello di eredità multipla mancante utilizzando interfacce e tre classi del genere: public interface IFirst { void FirstMethod(); } public […]