Sottoclasse (informatica)
Da Wikipedia, l'enciclopedia libera.
Nella programmazione orientata agli oggetti, una sottoclasse è una classe che eredita alcune proprietà da una superclasse. Una denominazione alternativa a "sottoclasse" è "classe derivata".
Si può pensare ad una sottoclasse come ad un particolare genere della sua superclasse. Per fare due esempi: un Gatto manx (o Gatto dell'isola di Man) è un particolare genere di gatto, un quadrato è un particolare genere di rettangolo.
- Un gatto ha una pelliccia, quattro zampe e una coda
- Un gatto manx non ha la coda, ma ha tutte le altre caratteristiche sopra elencate
- Un rettangolo ha quattro lati, due di lunghezza w e due di lunghezza h
- Un quadrato ha le stesse caratteristiche di un rettangolo, e, in aggiunta si ha che w = h
Come illustrato da questi esempi, una sottoclasse è una versione più specifica della sua superclasse; vi sono caratteristiche comuni a tutti i gatti, ma, a queste, i gatti manx ne aggiungono una peculiare della loro razza (la mancanza della coda); mentre tutti i rettangoli hanno quattro lati, i quadrati hanno una caratteristica più restrittiva, cioè hanno tutti e quattro i lati della stessa lunghezza.
Non bisogna confondere la relazione che intercorre fra classi e sottoclassi con quella che intercorre fra classi e istanze. Un'istanza della classe Gatto
rappresenta un particolare gatto, cioè un oggetto, mentre la classe Gatto manx
è ancora una classe, da cui possono essere istanziate tante istanze di particolari gatti manx. E se a un particolare gatto una volpe mangia la coda, questo fatto non lo fa passare nella classe Gatto manx
: è semplicemente cambiato quel gatto (quell'istanza di gatto).