title: Superclasse (informatica)
text: # Superclasse (informatica)
  
  Superclasse è un termine utilizzato nella programmazione orientata agli oggetti per indicare una classe generica, non necessariamente astratta, che può essere estesa da una o più sottoclassi, o classi figlie, che ne rappresentano delle versioni specializzate. Le funzionalità della superclasse vengono ereditate da tutte le classi figlie, che possono aggiungerne di nuove. I metodi pubblici vengono ereditati dalla sottoclasse, ma quest'ultima può modificarli a seconda delle necessità; tale fenomeno è definito overriding.
  
  ## Esempio di utilizzo
  
  Un esempio di utilizzo di una superclasse è una classe Veicolo con determinati metodi e variabili, dalla quale si estendono diverse classi come Macchina o Moto. Queste ultime ereditano le variabili ed i metodi di Veicolo ai quali si aggiungono le variabili e i metodi propri della classe. Le modalità con cui si rappresenta questo legame di ereditarietà variano a seconda del linguaggio usato.
  
  ## Java
  
  Nella programmazione in Java le classi figlie ereditano i metodi e le variabili della superclasse. Nel caso in cui vi siano metodi o attributi con lo stesso nome e con gli stessi parametri nella superclasse e nella sottoclasse il metodo o attributo della sottoclasse sovrascrive quello della superclasse.
  
  ### Esempio
  
  In questo esempio, se viene richiamato il metodo stampa; in base all'overriding, il risultato a video sarà comprende la targa, la cilindrata e il numero delle porte.
  
  