Sommario
Il sistema di eredità in Giava è abbastanza potente, infatti è un riferimento per altri linguaggi orientati agli oggetti, uno dei dubbi più comuni che ci passano per la testa una volta che siamo già nelle profondità dello sviluppo in Giava, è se possiamo usare i metodi delle classi genitori attraverso le istanze o negli stessi metodi delle classi ereditarie.La risposta è sì, infatti è una delle cose che è stata tenuta a mente e che ha un modo particolare di svolgersi ed è quello che vedremo dopo.
Parola super riservataCosì come possiamo usare la parola riservata Este Per fare riferimento a elementi dello stesso ambito dell'oggetto, abbiamo anche qualcosa che può aiutarci ad accedere agli attributi e ai metodi delle classi o superclassi genitori, e cioè la parola riservata Super, con esso possiamo invocare sia da un'istanza che da un metodo della sottoclasse qualcosa che proviene dalla classe da cui eredita.
Uno degli usi più frequenti che diamo alla parola Super, è potere invoca il costruttore della superclasse, con questo possiamo ridurre la quantità di codice che dobbiamo scrivere nelle nostre classi figlie, vediamo il seguente codice nell'immagine:
Qui vediamo il costruttore della classe circle, vediamo che riceve degli argomenti, se non usiamo la parola Super al suo interno, dovremmo fare le corrispondenti assegnazioni dei suoi attributi, tuttavia ciò non è necessario poiché la classe o la superclasse genitore lo ha fatto, quindi quando invochiamo con la parola super e gli passiamo gli argomenti necessari invocheremo il suo costruttore.
PrecauzioniÈ così facile, anche se dobbiamo avere alcune precauzioni e sapere come funziona, la prima cosa è che quando chiamiamo super all'interno del nostro costruttore, dobbiamo prima chiamarla, cioè non dovrebbe esserci nessun'altra istruzione, quindi a seconda che passiamo o meno argomenti, è il costruttore che verrà chiamato, per questo motivo dobbiamo tenere in considerazione anche l'overload del costruttore.
Il costruttore della classe genitore è l'unica cosa che non ereditiamo quando creiamo una sottoclasse, ecco perché l'unico modo per accedere a questi costruttori è attraverso questa parola riservata.
Non solo possiamo invocare i costruttori, possiamo anche invocare i metodi direttamente dalla superclasse, ovviamente possiamo pensare se è davvero necessario poiché ereditiamo questi metodi, ma quando dobbiamo sovrascrivere un metodo, allora è qui che questo assume più rilevanza. Diamo un'occhiata al seguente esempio:
Sebbene possiamo invocare il metodo senza aggiungere la parola super, se nella nostra classe avessimo un metodo con lo stesso nome, non saremmo in grado di accedere alla superclasse, motivo per cui è importante e necessario, come abbiamo visto nell'esempio .
Abbiamo già uno strumento con cui possiamo ottenere i diversi elementi delle classi da cui ereditiamo, dando così l'opportunità di generare funzionalità migliori.Ti è piaciuto e hai aiutato questo Tutorial?Puoi premiare l'autore premendo questo pulsante per dargli un punto positivo