Introduzione al polimorfismo in Java
Il polimorfismo è definito come un concetto in cui, con l'aiuto di un'azione, può essere eseguito in numerosi modi. La parola è stata originata dalle 2 parole greche, che sono poli e morph. Qui, come forse saprai, "poli" implica molte, così come "morph", implica molte forme. Pertanto, la parola polimorfismo implicherebbe molte forme. Cerchiamo ora di comprendere il polimorfismo in Java in dettaglio.
Come funziona il polimorfismo in Java?
Il polimorfismo è una caratteristica di programmazione OOO. Ogni volta che lo usiamo, una classe ha la capacità di esibire molte funzionalità anche se mostrano l'interfaccia comune. Pertanto, possiamo supporre che la lunga parola in realtà dice un concetto molto semplice.
La cosa degna di nota del polimorfismo è che l'intero codice di lavoro che esiste in numerose classi non ha davvero bisogno di capire che la classe che viene utilizzata da essa nello stesso modo di utilizzo è la stessa.
Supponiamo l'esempio reale del polimorfismo. Supponiamo che il pulsante. Sapete tutti che se applichiamo un po 'di pressione sarete in grado di premere il pulsante, tuttavia non saremo in grado di conoscere l'output della pressione sul pulsante e lo scopo dell'uso. Quindi, sottolinea che qui prendersi cura di questo è che, in entrambi i casi, il risultato non influenzerà la procedura che viene utilizzata.
Quindi l'obiettivo fondamentale del polimorfismo è quello di rendere gli oggetti che sono intercambiabili a seconda delle esigenze.
Tipi di polimorfismo in Java
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 Dispatch, è un processo in cui la chiamata a un metodo ignorato viene risolta in fase di esecuzione 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.
Importanza del polimorfismo in Java
Se scartiamo il polimorfismo dinamico e il polimorfismo statico, nella programmazione esistono alcune delle caratteristiche di programmazione di Java che esibiscono polimorfismo diverso da questi due importanti tipi.
Sono questi: coercizione, sovraccarico dell'operatore e parametri polimorfici.
Coercizione
Proviamo a ottenere il significato di coercizione attraverso questo esempio. Supponiamo che esista il valore della stringa come co-valore: Supponiamo che il secondo numero abbia il valore 2. Ora, cosa succederebbe quando concateni questo valore di stringa insieme a questo numero? Il risultato che usciremo da questa concatenazione sarebbe "co-valore: 2". Questo è noto come coercizione. Questa è una conversione di tipo implicito che viene eseguita in ordine di prevenzione degli errori.
Sovraccarico dell'operatore
Mentre iniziamo con il concetto di sovraccarico dell'operatore, vorrei dare un'occhiata a uno scenario. Supponiamo che ci sia la stringa che ha il valore "Operate" e la seconda che ha valore come "Overload". Quindi utilizzeremo il simbolo più (+) allo stesso modo dell'aggiunta di 2 numeri. Questo (+) sarebbe concatenato. Se consideriamo due numeri interi, l'aggiunta di questi due numeri verrebbe restituita. Ogni volta che un simbolo o un operatore ha la possibilità di modificare l'interpretazione considerando la procedura che è stata utilizzata, il tipo di polimorfismo che viene fatto è noto come Sovraccarico dell'operatore.
Parametri polimorfici
Significa consentire l'accesso a qualsiasi oggetto in uno di questi modi di seguito indicati come sotto -
- Utilizzo di una variabile di riferimento che appartiene a una delle classi principali.
- Utilizzo di una variabile di riferimento che appartiene alla classe in cui esiste.
Portata del polimorfismo
Binding indica la connessione di una chiamata del metodo a un corpo del metodo. Esistono due tipi di rilegatura:
- 1 ° è l'associazione statica che significa ogni volta che il tipo di oggetto è stato determinato durante il tempo di compilazione.
- 2 ° è il legame dinamico che significa ogni volta che il tipo di oggetto è stato determinato durante il runtime.
L'unica ragione per cui è richiesto il polimorfismo risiede nel fatto che il concetto è enormemente necessario nell'attuazione dell'eredità. Inoltre, svolge un ruolo molto vitale consentendo agli oggetti di ereditare numerose strutture nella condivisione dell'interfaccia. Il polimorfismo è stato menzionato chiaramente come uno solo mappato per molti.
Esempi di polimorfismo in Java
Di seguito sono riportati i diversi esempi di polimorfismo in Java:
Esempio n. 1 - Programma Java per mostrare il metodo di sovraccarico
Codice:
class methodOverload (
static int multi(int x, int y)
(
return x * y;
)
// Method with the same name but with 2 double arguments
static double multi(double x, double y)
(
return x * y;
)
)
class Main (
public static void main(String() args)
(
System.out.println(methodOverload.multi(6, 2));
System.out.println(methodOverload.multi(1.2, 1.2));
)
)
Produzione:
Esempio n. 2 - Programma Java per mostrare il sovraccarico dell'operatore
Codice:
class operator (
void oper(String s, String s2)
(
String s = s + s2;
System.out.println("Concatenated String is"
+ s);
)
void oper(int a, int b)
(
int c = a + b;
System.out.println("Sum is : " + c);
)
)
class Main (
public static void main(String() args)
(
operator o = new operator();
o.oper(1, 2);
o.oper("hi", "bye");
)
)
Produzione:
Esempio n. 3 - Programma Java per il metodo di sovraccarico
Codice:
class Multi (
// Method with 2 parameter
static int Multi(int a, int b)
(
return a * b;
)
static int Multi(int a, int b, int c)
(
return a * b * c;
)
)
class Main (
public static void main(String() args)
(
System.out.println(Multi.Multi(2, 3));
System.out.println(Multi.Multi(2, 3, 3));
)
)
Produzione:
Conclusione
L'unica ragione per cui è richiesto il polimorfismo risiede nel fatto che il suo concetto è enormemente necessario per l'implementazione dell'eredità. Inoltre, svolge un ruolo molto importante consentendo agli oggetti di ereditare numerose strutture nella condivisione dell'interfaccia. Il polimorfismo è stato menzionato chiaramente come uno solo mappato per molti.
Articoli consigliati
Questa è una guida al polimorfismo in Java. Qui discutiamo del funzionamento del polimorfismo in Java con i suoi tipi e importanza insieme a diversi esempi e implementazione del codice. Puoi anche consultare i seguenti articoli per saperne di più -
- Polimorfismo in C #
- JTextField in Java
- Sovraccarico e override in C ++
- Che cos'è l'ereditarietà Java?
- Sovraccarico in Java
- Sovraccarico di Python
- Guida completa all'ereditarietà in Python
- Tipi ed errori di gestione in JavaScript
- Vantaggi del legame statico e del legame dinamico