Quali sono i quattro diversi tipi di eredità di relazione?

February 28

Quali sono i quattro diversi tipi di eredità di relazione?


Nella programmazione C ++, una classe è una struttura di dati che definisce un insieme di proprietà che possono includere dati e funzioni. Ereditarietà consente un tipo di classe, chiamata la classe derivata, avere alcune o tutte le proprietà definite da un'altra classe, detta classe base. Ci sono quattro tipi principali di relazione di ereditarietà in C ++: singole, multiple, gerarchici e multilivello, anche se questi possono essere combinati in un quinto tipo chiamato ereditarietà ibrido.

L'ereditarietà singola

ereditarietà singola è la forma più semplice di struttura di ereditarietà tra le classi C ++. In una sola gerarchia di ereditarietà, una classe derivata eredita oggetti di classe di una base. Questa è una relazione lineare in cui la classe derivata rappresenta un sottoinsieme della classe base. Un esempio in cui può essere utilizzata l'ereditarietà singola è con una classe base chiamata libro, azienda di un libro titolo, genere, ecc Una classe derivata potrebbe esistere chiamato LibraryBook, che sarebbe stato definito come un libro con la proprietà aggiuntiva di una data di scadenza.

L'ereditarietà multipla

ereditarietà multipla è un tipo alquanto più avanzato di eredità in cui una classe derivata deriva oggetti di due o più classi di base. Ad esempio, la classe denominata persona potrebbe essere definito per contenere nome, data di nascita di una persona, ecc, e un'altra classe denominata Employee potrebbe essere definita per contenere stipendio, datore di lavoro, pacchetto di benefici di un dipendente, ecc Una classe derivata chiamato WebDesigner potrebbe trarre oggetti di sia la persona e classi di base dei dipendenti per memorizzare sia informazioni biografiche e l'occupazione su web designer.

ereditarietà gerarchica

eredità gerarchica è l'opposto di ereditarietà multipla. Invece di un disegno classe derivata su più classi base, una classe base fornisce le proprietà per più classi derivate. Un esempio di dove potrebbe essere utilizzato eredità gerarchico è un programma di monitoraggio statistiche sportive. Una classe di base denominata Player potrebbe memorizzare di un giocatore nome, l'età, squadra, ecc Le classi derivate chiamati BaseballPitcher, BaseballShortstop, FootballLineman, ecc potrebbero derivare tutte le proprietà di base di un giocatore della classe di base e ogni aggiungere un diverso insieme di oggetti da monitorare le statistiche relative a che lo sport e la posizione.

Multilevel Inheritance

eredità multilivello, come suggerisce il nome, è costituito da una gerarchia di ereditarietà che si verifica quando una classe eredita oggetti di un'altra classe che di per sé una classe derivata da una terza classe è. Ad esempio, una classe di base denominata libro potrebbe avere proprietà che memorizzano il titolo, editore, ecc di un libro. Un LibraryBook classe derivata potrebbe derivare oggetti di libro, mentre l'aggiunta di nuovi immobili come data di scadenza. Una classe ChildrensSection, a sua volta, potrebbe derivare oggetti di LibraryBook mentre l'aggiunta di proprietà specifiche per un libro dalla sezione dei bambini, come illustratore.