Polimorfismo in Java

Sommario
All'interno della programmazione orientata agli oggetti ci sono 3 pilastri fondamentali, il eredità, che ci permette di ottenere gli attributi e i metodi di una classe genitore, il incapsulamento che ci permette di mantenere i metodi e gli attributi di una classe e che non dovrebbe essere visto al di fuori di essa e il terzo che è il polimorfismo.
PolimorfismoLa parola polimorfismo deriva da una parola greca e significa che ha molte forme, quindi possiamo definire che il polimorfismo è la capacità di usare molte forme in Giava.
Per capire cosa polimorfismo Dobbiamo comprendere i concetti chiave, uno di questi sono i tipi, un tipo è la definizione che viene generata da una classe, quindi questo porta a due concetti correlati aggiuntivi.
Il sottotipoQuando creiamo una classe che eredita da un'altra stiamo creando un sottotipo, poiché è un tipo derivato da un tipo superiore, possiamo dire ad esempio che se abbiamo una classe Figura geometrica e da questo creiamo una classe Cerchio che lo eredita, quindi la nostra classe Circle definisce un sottotipo di GeometricFigure.
Il SupertipoÈ il contrario, quando una classe viene ereditata, diventa una superclasse o una classe genitore, quindi ora risulta essere la supertipo, cioè il tipo primario o che aiuta a definirne sottotipi, se seguiamo l'esempio che abbiamo già definito, il supertipo sarebbe la classe Figura geometrica.
Con questo definiamo i concetti che ci aiuteranno a capire il polimorfismo, se mettiamo l'esempio un po' più esteso possiamo dire che un Cerchio sarà sempre del tipo Figura geometrica, ma non tutti i tipi di Figura geometrica saranno del tipo Cerchio, se parliamo delle classi che abbiamo appena definito, ad esempio se ora creiamo una sottoclasse che eredita dalla classe Figura geometrica e si chiama Rettangolo, ora abbiamo un nuovo sottotipo, che è ancora del tipo Figura geometrica ma assume una nuova forma ed ecco il polimorfismo.
Poiché abbiamo visto la teoria dei tipi, possiamo quindi dire che una sottoclasse sarà sempre del tipo della sua classe genitore, ma che la classe genitore non sarà del tipo della sua sottoclasse o classe figlia, con questo possiamo quindi vedi l'esempio seguente dove in un metodo chiediamo un oggetto del tipo Figura geometricaPertanto, possiamo ricevere le sue numerose forme, in questo caso possiamo ricevere un oggetto Cerchio o Rettangolo, poiché entrambi, pur essendo diversi, condividono il supertipo.
Vediamo nell'immagine seguente un codice che ci mostra come si comporterebbe un metodo con il polimorfismo:

In questo esempio, il metodo show object si aspetta un oggetto di tipo Figura geometrica, se sappiamo che Circle e Rectangle sono sottoclassi di FigureGeometric, allora possiamo passare i loro oggetti al metodo poiché sono diverse forme di FigureGeometric e soddisfano la funzione.
Abbiamo già imparato a utilizzare il terzo pilastro dell'orientamento agli oggetti, ora possiamo costruire metodi più estesi che possono essere riutilizzati in diverse implementazioni dei nostri programmi in Giava.Ti è piaciuto e hai aiutato questo Tutorial?Puoi premiare l'autore premendo questo pulsante per dargli un punto positivo

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave