Introduzione al polimorfismo

Il polimorfismo è il concetto con l'aiuto del quale può essere eseguita una singola azione in diversi modi. Deriva da due parole greche, ovvero poli e morph. "Poli" significa molti e "morph" significa forme. D'ora in poi, il polimorfismo implica molte forme. Nella programmazione orientata agli oggetti, può essere definita come la capacità di un linguaggio di programmazione di elaborare oggetti in modo diverso a seconda della loro classe o del loro tipo di dati. Fondamentalmente, possiamo definirlo come la capacità per le classi derivate di ridefinire i metodi.

Comprensione

I due tipi di polimorfismo sono il polimorfismo in fase di compilazione e il polimorfismo in fase di esecuzione. Il polimorfismo in fase di compilazione viene eseguito mediante il sovraccarico del metodo e il polimorfismo di runtime mediante la sostituzione del metodo. Il polimorfismo di runtime chiamato anche Dynamic Method Dispatch è un processo in cui la chiamata a un metodo ignorato viene risolta in fase di runtime nonostante al momento della compilazione. Qui, il metodo sovrascritto viene chiamato attraverso una variabile di riferimento di una classe genitore. Inoltre, il polimorfismo di runtime non può essere raggiunto dai membri dei dati.

In che modo il polimorfismo rende il lavoro così facile?

È una caratteristica di programmazione orientata agli oggetti. Utilizzando il polimorfismo, una classe può esibire diverse funzionalità anche quando hanno un'interfaccia comune. Quindi, possiamo dire che questo lungo termine spiega un concetto di base. La cosa degna di nota del polimorfismo è che tutto il codice di lavoro in varie classi non richiede di conoscere la classe utilizzata da essa in quanto il modo di utilizzo è lo stesso.

È una caratteristica di programmazione orientata agli oggetti. Utilizzando il polimorfismo, una classe può esibire diverse funzionalità anche quando hanno un'interfaccia comune. Quindi, possiamo dire che questo lungo termine spiega un concetto molto basilare. La cosa degna di nota del polimorfismo è che tutto il codice di lavoro in varie classi non richiede di conoscere la classe utilizzata da essa in quanto il modo di utilizzo è lo stesso.

Prendi in considerazione uno scenario reale per il polimorfismo. Prendi un esempio di un pulsante. Sappiamo che applicando una certa pressione possiamo fare clic sul pulsante ma non conosciamo l'output della pressione del pulsante o il riferimento del suo utilizzo. Il punto qui da notare è, in entrambi i casi, il risultato non influirebbe sul modo in cui viene utilizzato.

Quindi l'obiettivo fondamentale del polimorfismo è quello di rendere gli oggetti che sono intercambiabili a seconda delle esigenze.

Cosa puoi fare con il polimorfismo?

Quando la classe figlio ha lo stesso metodo di quella dichiarata nella classe genitore, la chiamiamo metodo prioritario.

O in altre parole, se una classe figlio fornisce l'implementazione del metodo che è stata dichiarata dalla sua classe genitore, si chiama override del metodo. Alcune cose da ricordare nella sostituzione del metodo sono:

  • Il metodo deve avere lo stesso nome di quello menzionato nella classe genitore
  • Il metodo deve inoltre avere lo stesso parametro di quello menzionato nella classe genitore.
  • Ci deve essere l'eredità, cioè la relazione IS-A.

Lavorare con il polimorfismo?

Quando una classe ha più metodi con lo stesso nome ma parametri diversi, viene definita Sovraccarico del metodo.

Supponiamo di dover eseguire una sola operazione, quindi avere lo stesso nome dei metodi aumenterebbe la leggibilità del programma. Modi per sovraccaricare il metodo in Java è:

  • Modifica del numero di argomenti
  • Modifica del tipo di dati

Tuttavia, in Java, non è possibile cambiare solo il tipo di ritorno del metodo.

vantaggi

  • Il polimorfismo aiuta i programmatori a riutilizzare il codice e anche le classi che sono state scritte una volta per essere testate e implementate. (Riutilizzabilità del codice)
  • Un singolo nome di variabile può memorizzare variabili di più tipi di dati (int, float, double, long, ecc.).
  • Aumenta la leggibilità del programma.

Perché dovremmo usare il polimorfismo?

Oltre al polimorfismo dinamico e al polimorfismo statico, ci sono alcune caratteristiche di programmazione Java che mostrano polimorfismo diverso dai due tipi principali.

Questi sono: coercizione, parametri polimorfici e sovraccarico dell'operatore

Coercizione

Cerchiamo di capire la coercizione con un esempio molto semplice. Considera una stringa con valore "classe di coercizione:". Considera un altro numero intero con valore 1. Ora, cosa succede quando concateni un valore di stringa con un valore intero? Il risultato di questa concatenazione sarebbe "classe di coercizione: 1". Questo è ciò che si chiama coercizione. La conversione di tipo implicita viene eseguita per prevenire errori di tipo. Viene eseguito dal compilatore.

Sovraccarico dell'operatore

Prima di iniziare con il sovraccarico dell'operatore, noto anche come metodo di sovraccarico, facciamo un esempio. Considera una stringa con valore "Operatore" e un'altra stringa come "Sovraccarico". Usa il simbolo più (+) con queste due stringhe proprio come aggiungi due numeri interi. Il (+) concatenerà queste due stringhe. Nel caso di due numeri interi, viene restituita la somma di due numeri interi. Quando un simbolo o un operatore ha la possibilità di cambiare il loro significato a seconda del modo in cui vengono utilizzati, il tipo di polimorfismo esposto viene chiamato Sovraccarico dell'operatore.

parametri

Nel polimorfismo, un oggetto può apparire in molte forme. In Java, si riferisce a consentire l'accesso a un oggetto in uno dei seguenti modi come -

1. usando la variabile di riferimento della sua classe genitrice o superclasse

2. utilizzando la variabile di riferimento della classe in cui esiste.

Perché abbiamo bisogno del polimorfismo?

Il motivo principale per cui è necessario il polimorfismo è che questo concetto è ampiamente utilizzato nell'implementazione dell'eredità. Svolge un ruolo importante nel consentire agli oggetti di avere varie strutture interne nel condividere la stessa interfaccia esterna. Il polimorfismo è chiaramente indicato come mappato per molti.

Scopo

Il bind sta collegando una chiamata del metodo al corpo del metodo. Abbiamo due tipi di rilegatura.

Rilegatura statica (associazione anticipata): quando il tipo di oggetto viene determinato in fase di compilazione.

Binding dinamico (Late Binding): quando il tipo di oggetto viene determinato in fase di esecuzione.

Conclusione

Il polimorfismo è quindi considerato come una delle caratteristiche molto importanti della programmazione orientata agli oggetti. Se parli di un esempio di polimorfismo nella vita reale, potrebbe essere che una persona allo stesso tempo possa avere caratteristiche diverse, ad esempio un uomo allo stesso tempo è un figlio, un marito, un impiegato. Quindi la stessa persona acquisisce un comportamento diverso in situazioni diverse. Questo, in termini orientati agli oggetti, è chiamato polimorfismo, una caratteristica importante della programmazione orientata agli oggetti.

Articoli consigliati

Questa è stata una guida a Cos'è il polimorfismo? Qui abbiamo discusso di funzionamento, ambito di applicazione, necessità e vantaggi del polimorfismo. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più -

  1. Che cos'è JavaScript?
  2. Che cos'è l'HTML
  3. Che cos'è Python
  4. Polimorfismo in C #
  5. Matrici nella programmazione Java
  6. Conversione dei tipi in Java con tipi ed esempi
  7. Guida alla conversione in Java con esempi
  8. Rilegatura statica e rilegatura dinamica | Introduzione | usi

Categoria: