Articles of ereditarietà

Perché la mia class pubblica non può estendere una class interna?

Io davvero non capisco. Se la class base è astratta e destinata esclusivamente a fornire funzionalità comuni alle sottoclassi pubbliche definite nell’assembly, perché non dovrebbe essere dichiarata interna? Non voglio che la class astratta sia visibile per codificare all’esterno dell’assembly. Non voglio che il codice esterno lo sappia.

Perché i vincoli di tipo generico non sono ereditabili / gerarchicamente applicati

Classe dell’object public class Item { public bool Check(int value) { … } } Classe astratta di base con vincolo di tipo generico public abstract class ClassBase where TItem : Item { protected IList items; public ClassBase(IEnumerable items) { this.items = items.ToList(); } public abstract bool CheckAll(int value); } Classe ereditata senza vincoli public class […]

Vantaggi di impostare la proprietà “costruttore” nel “prototipo”

In JavaScript Prototype inheritance, qual è l’objective dell’aggiunta della proprietà prototype.constructor. Lasciatemi spiegare con un esempio. var Super = function () { this.superProperty = ‘Super proprietà’ } var Sub = function () { this.subProperty = ‘Proprietà secondaria’ } Sub.prototype = new Super (); Sub.prototype.constructor = Sub; // vantaggi della dichiarazione var inst = new Sub […]

Javascript “OOP” e prototipi con ereditarietà a più livelli

Sono nuovo nella programmazione Javascript e mi sto avvicinando alla mia prima applicazione (un gioco, in effetti) da una prospettiva di programmazione orientata agli oggetti (so che js non è realmente orientato agli oggetti, ma per questo particolare problema è stato più facile iniziare come Questo). Ho una gerarchia di “classi” in cui la class […]

I membri privati ​​sono ereditati in C #?

Ho appena visto un tutorial che dice che: Class Dog { private string Name; } Class SuperDog:Dog { private string Mood; } Poi c’è stato un UML che mostra che SuperDog erediterà anche Name. Ho provato ma a me sembra che solo i membri pubblici siano ereditati. Almeno non ho potuto accedere a Nome a […]

Sovraccarico di Java e regole di ereditarietà

Ho studiato perché ho un esame e non ho molti problemi con la maggior parte di Java, ma mi sono imbattuto in una regola che non posso spiegare. Ecco un frammento di codice: public class A { public int method(Object o) { return 1; } public int method(A a) { return 2; } } public […]

Tutte le funzioni virtuali devono essere implementate nelle classi derivate?

Questa potrebbe sembrare una domanda semplice, ma non riesco a trovare la risposta altrove. Supponiamo di avere il seguente: class Abstract { public: virtual void foo() = 0; virtual void bar(); } class Derived : Abstract { public: virtual void foo(); } Va bene che la class Derived non implementa la funzione bar ()? Cosa […]

C ++ Access derivato membro della class dal puntatore della class base

Se alloco un object di una class Derived (con una class base di Base ) e memorizzo un puntatore a quell’object in una variabile che punta alla class base, come posso accedere ai membri della class Derived ? Ecco un esempio: class Base { public: int base_int; }; class Derived : public Base { public: […]

Struct ereditarietà in C ++

Può una struct essere ereditata in C ++?

eredità privata

Non capisco completamente questo: class Base { public: Base() { cout<<"Base" << endl; } virtual void call() { cout<<"Base call" << endl; } }; class Derived: private Base { public: Derived() { cout<<"Derived" << endl; } }; int main(void) { Base *bPtr = new Derived(); // This is not allowed } È perché qualcuno potrebbe […]