Sommario:
Definizione - Cosa significa ereditarietà?
L'ereditarietà, in C #, è la capacità di creare una classe che eredita attributi e comportamenti da una classe esistente. La classe appena creata è la classe derivata (o figlio) e la classe esistente è la classe base (o genitore).
L'ereditarietà è una delle caratteristiche chiave della programmazione orientata agli oggetti. I vantaggi dell'ereditarietà fanno parte del motivo per cui la programmazione strutturale può essere sostituita con una programmazione orientata agli oggetti.
L'ereditarietà in C # è progettata sia a livello di implementazione che a livello di interfaccia. L'ereditarietà dell'implementazione implica il codice di una classe che viene riutilizzato in un'altra, mentre l'ereditarietà dell'interfaccia implica l'ereditarietà delle sole firme delle funzioni da un tipo a un altro.
L'ereditarietà è anche nota come generalizzazione.
Techopedia spiega l'ereditarietà
C # non supporta l'ereditarietà multipla, il che significa che una classe può derivare da una sola classe base, sebbene una classe possa essere derivata da una o più interfacce. A causa della natura transitiva dell'eredità, una classe derivata eredita tutti i membri dei suoi antenati.
Ad esempio, le classi, Auto e Bus possono essere derivate da una classe di base, Veicolo, tramite ereditarietà perché sia Auto che Bus sono tipi di Veicolo.
Le caratteristiche principali dell'ereditarietà includono:
- Tutti i membri della classe base tranne quelli con accessibilità privata sono accessibili nella classe derivata.
- Tutti i membri della classe base sono ereditati dalla classe base tranne costruttori e distruttori.
- A differenza del C ++, i metodi virtuali in una classe derivata devono utilizzare il modificatore "override" per sovrascrivere un membro ereditato.
- Per nascondere un membro ereditato con lo stesso nome e firma nella classe derivata, è possibile utilizzare il "nuovo" modificatore.
- Per impedire l'istanza diretta di una classe, è possibile utilizzare il modificatore "astratto".
- Per impedire l'ulteriore derivazione di una classe base, può essere dichiarata usando il modificatore "sigillato".
- Consente la costruzione di una gerarchia di classi correlate che possono riutilizzare, estendere e alterare i comportamenti definiti nelle classi esistenti.
- Consente il riutilizzo del codice, riducendo tempi e sforzi nella codifica e nei test.
- Aiuta a migliorare la modularità e le prestazioni dividendo grandi parti di codice in parti più piccole, più gestibili.
- Costituisce il mezzo per ottenere il polimorfismo, che consente a un oggetto di rappresentare più di un tipo.
Questa definizione è stata scritta nel contesto di C #
