Ereditarietà (informatica): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 1:
L' '''ereditarietà''' è uno dei concetti fondamentali nel [[paradigma di programmazione]] [[programmazione orientata agli oggetti|a oggetti]]. Essa consiste in una relazione che il linguaggio di programmazione, o il programmatore stesso, stabilisce tra due [[classe (programmazione)|classi]]. Se la classe <code>B</code> eredita dalla classe <code>A</code>, si dice che <code>B</code> è una ''sottoclasse'' di <code>A</code> e che <code>A</code> è una ''superclasse'' di B. Altri sinonimi in uso, a seconda del contesto, sono ''classe madre'' o ''classe base'' per <code>A</code> e ''classe figlia'' o ''classe derivata'' per <code>B</code>. A seconda del [[linguaggio di programmazione]], l'ereditarietà può essere '''ereditarietà singola''' o '''semplice''' (ogni classe può avere al più una superclasse diretta) o '''multipla''' (ogni classe può avere più superclassi dirette).
 
In generale, l'uso dell'ereditarietà dà luogo a una gerarchia di classi; nei linguaggi con ereditarietà singola questa gerarchia ha la forma di un [[albero (grafo)|albero]] se esiste una superclasse "radice" unica di cui tutte le altre sono direttamente o indirettamente sottoclassi (come la classe <code>Object</code> nel caso di [[Java (linguaggio di programmazione)|Java]]). Si ottiene invece una foresta nei casi di ereditarietà singola senza una classe radice comune, e a un [[grafo aciclico diretto]] nel caso di ereditarietà multipla.