Ereditarietà, overloading e ovverriding nella programmazione ad oggetti



Ereditarietà

Una caratteristica importante nella programmazione ad oggetti è l’ereditarietà, cioè la possibilità di definire una nuova classe ereditando metodi e attributi da un’altra classe. Un’altra caratteristica importante dell’ereditarietà è la possibilità di aggiungere funzionalità a una classe, specializzandola o ampliandola.

Per esempio, se abbiamo una classe che definisce l’oggetto torcia, possiamo estenderla aggiungendo i colori della torcia, senza dover riscrivere il codice della torcia, ma ereditandolo e andando ad aggiungere attributi e metodi per aggiungere i colori alla nostra torcia

Overloading

L’overloading viene effettuato su un metodo ed è la possibilità di creare due metodi con lo stesso nome ma che hanno una firma diversa, ossia gli argomenti passati al metodo sono diversi.

Per esempio nella classe torcia colorata abbiamo 2 metodi:

  • void accendi() che accenderà la torcia con un colore predefinito, per esempio il bianco.
  • void accendi(String colore) che accenderà la torcia con il colore passato al metodo.

Overriding

L’overriding, o ridefinizione, è anch’essa una caratteristica che agisce sui metodi. Con l’overriding è infatti possibile ridefinire un metodo che abbiamo ereditato, ossia riscriverlo, modificarlo.

Per esempio nella nostra classe torcia, abbiamo ereditato il metodo accendi(), ora però nella torcia colorata abbiamo bisogno di accendere la nostra torcia con un colore predefinito, quindi andremo a riscrivere il metodo accendi della classe torcia colorata in modo da svolgere l’operazione voluta.

Annunci sponsorizzati:
Condividi su Facebook Condividi su Twitter!
Pinterest