Polymorfisme op Java - Werken, typen en belang met voorbeelden

Inhoudsopgave:

Anonim

Inleiding tot polymorfisme op Java

Polymorfisme wordt gedefinieerd als een concept waarbij met behulp van één actie op verschillende manieren kan worden uitgevoerd. Het woord is afkomstig van de 2 Griekse woorden, die zowel poly- als morphs zijn. Hier, zoals je misschien weet, impliceert "poly" vele, evenals "morphs", vele vormen. Daarom zou het woord polymorfisme vele vormen impliceren. Laten we nu het polymorfisme in Java gedetailleerd begrijpen.

Hoe werkt polymorfisme op Java?

Polymorfisme is een programmeerkenmerk van OOO. Wanneer we het gebruiken, heeft een klasse de mogelijkheid om veel functionaliteiten te vertonen, zelfs als ze de gemeenschappelijke interface vertonen. Daarom kunnen we aannemen dat het lange woord eigenlijk een heel eenvoudig concept vertelt.

Het vermelden waard bij polymorfisme is dat de hele werkcode die in verschillende klassen bestaat, niet echt hoeft te begrijpen dat de klasse die eraan wordt gebruikt op dezelfde manier van gebruik hetzelfde is.

Laten we het echte voorbeeld van polymorfisme aannemen. Laten we de knop aannemen. Jullie weten allemaal dat als we een beetje druk uitoefenen, je op de knop kunt drukken, maar we zullen niet weten wat de output is van het uitoefenen van druk op de knop en het doel van het gebruik. Dus, wijs erop dat hier om te zorgen is dat het resultaat hoe dan ook geen invloed heeft op de procedure die wordt gebruikt.

Het basisdoel van polymorfisme is dus om objecten te maken die uitwisselbaar zijn, afhankelijk van de behoeften.

Soorten polymorfisme op Java

De twee soorten polymorfisme zijn compile-time polymorfisme en run time polymorfisme. Compile-time polymorfisme wordt uitgevoerd door overbelasting van de methode en runtime polymorfisme door override methode.

Runtime-polymorfisme, ook wel Dynamic Method Dispatch genoemd, is een proces waarbij tijdens de runtime een oproep tot een overschreven methode wordt opgelost, ondanks het compileren. Hierin wordt de overschreven methode aangeroepen via een referentievariabele van een bovenliggende klasse. Runtime-polymorfisme kan ook niet worden bereikt door gegevensleden.

Het belang van polymorfisme op Java

Als we dynamisch polymorfisme en statisch polymorfisme afwijzen, bestaat bij het programmeren een aantal van de programmeereigenschappen van Java die polymorfisme vertoont dat anders is dan deze twee belangrijke typen.

Dit zijn deze - dwang, operatoroverbelasting en polymorfe parameters.

Dwang

Laten we proberen de betekenis van dwang door dit voorbeeld te krijgen. Stel dat de waarde van de tekenreeks co-waarde is: Stel dat het tweede getal de waarde 2 heeft. Wat zou er gebeuren als u deze tekenreekswaarde samen met dit nummer optelt? Het resultaat dat we uit deze aaneenschakeling halen, is "co-waarde: 2". Dit staat bekend als Coercion. Dit is een impliciete conversie die wordt uitgevoerd om fouten te voorkomen.

Overbelasting operator

Laten we, als we beginnen met het concept van overbelasting van de operator, één scenario bekijken. Stel dat er een string is die de waarde "Operate" heeft en de tweede die waarde heeft als "Overload". Dan zouden we plus symbool (+) gebruiken op dezelfde manier de toevoeging van 2 getallen. Dit (+) zou aaneengeschakeld zijn. Als we twee gehele getallen beschouwen, zou het toevoegen van deze twee nummers worden geretourneerd. Wanneer een symbool of operator de mogelijkheid heeft om de interpretatie te wijzigen, rekening houdend met de procedure die is gebruikt, staat het polymorfismetype dat wordt gedaan bekend als Operatoroverbelasting.

Polymorfe parameters

Het betekent dat u de toegang tot elk object op een van de onderstaande manieren mogelijk maakt zoals aangegeven onder -

  1. Gebruik van een referentievariabele die tot beide bovenliggende klasse behoort.
  2. Gebruik van een referentievariabele die behoort tot de klasse waar die bestaat.

Polymorfisme

Binding betekent de verbinding van een methodeaanroep met een methodelichaam. Er zijn twee soorten binding:

  • 1 e is statische binding, wat betekent dat het type object tijdens de compilatie is bepaald.
  • 2 e is dynamische binding, wat betekent dat het type object tijdens de uitvoering is bepaald.

De enige reden waarom het polymorfisme vereist is, is dat het concept enorm nodig is bij de implementatie van erfenis. Bovendien speelt het een zeer vitale rol waardoor de objecten verschillende structuren kunnen erven bij het delen van de interface. Polymorfisme is duidelijk genoemd als enige die voor velen in kaart wordt gebracht.

Voorbeelden van polymorfisme op Java

Hieronder staan ​​de verschillende voorbeelden van polymorfisme op Java:

Voorbeeld # 1 - Java-programma om Method Overloading te demonstreren

Code:

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));
)
)

Output:

Voorbeeld # 2 - Java-programma om overbelasting van de operator te tonen

Code:

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");
)
)

Output:

Voorbeeld # 3 - Java-programma voor methode-overbelasting

Code:

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));
)
)

Output:

Conclusie

De enige reden waarom het polymorfisme nodig is, is dat het concept enorm nodig is bij de implementatie van erfenis. Bovendien speelt het een zeer vitale rol waardoor de objecten verschillende structuren kunnen erven bij het delen van de interface. Polymorfisme is duidelijk genoemd als enige die voor velen in kaart wordt gebracht.

Aanbevolen artikelen

Dit is een gids voor polymorfisme op Java. Hier bespreken we de werking van polymorfisme in Java met zijn typen, en belang samen met verschillende voorbeelden en code-implementatie. U kunt ook de volgende artikelen bekijken voor meer informatie -

  1. Polymorfisme in C #
  2. JTextField in Java
  3. Overbelasting en opheffen in C ++
  4. Wat is Java-erfenis?
  5. Overbelasting in Java
  6. Python overbelast
  7. Volledige gids voor erfenis in Python
  8. Typen en verwerkingsfouten in JavaScript
  9. Voordelen van statische binding en dynamische binding