Inleiding tot polymorfisme

Polymorfisme is het concept met behulp waarvan een enkele actie op verschillende manieren kan worden uitgevoerd. Het is afgeleid van twee Griekse woorden, dat wil zeggen poly en morphs. "Poly" betekent veel en "morphs" betekent vormen. Voortaan impliceert polymorfisme vele vormen. In objectgeoriënteerd programmeren kan het worden gedefinieerd als het vermogen van een programmeertaal om objecten anders te verwerken, afhankelijk van hun klasse of hun gegevenstype. Kortom, we kunnen het definiëren als het vermogen voor afgeleide klassen om methoden opnieuw te definiëren.

Begrip

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.

Hoe maakt polymorfisme werken zo eenvoudig?

Het is een objectgeoriënteerd programmeerkenmerk. Met behulp van polymorfisme kan een klasse verschillende functionaliteiten vertonen, zelfs wanneer ze een gemeenschappelijke interface hebben. We kunnen dus zeggen dat deze lange termijn een basisconcept verklaart. Het opmerkelijke van polymorfisme is dat alle werkende code in verschillende klassen niet hoeft te weten over de klasse die het gebruikt, omdat hun manier van gebruik hetzelfde is.

Het is een objectgeoriënteerd programmeerkenmerk. Met behulp van polymorfisme kan een klasse verschillende functionaliteiten vertonen, zelfs wanneer ze een gemeenschappelijke interface hebben. We kunnen dus zeggen dat deze lange termijn een zeer basisconcept verklaart. Het opmerkelijke van polymorfisme is dat alle werkende code in verschillende klassen niet hoeft te weten over de klasse die het gebruikt, omdat hun manier van gebruik hetzelfde is.

Overweeg een real-world scenario voor polymorfisme. Neem een ​​voorbeeld van een knop. We weten dat we door wat druk uit te oefenen op de knop kunnen klikken, maar we weten niet wat de output is van het indrukken van de knop of de referentie van het gebruik ervan. Het punt hier om op te merken is hoe dan ook, het resultaat heeft geen invloed op de manier waarop het wordt gebruikt.

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

Wat kunt u doen met polymorfisme?

Wanneer de kindklasse dezelfde methode heeft als een die in de bovenliggende klasse is aangegeven, noemen we dit een methode die voorrang heeft.

Of met andere woorden, als een onderliggende klasse de implementatie biedt van de methode die door de bovenliggende klasse is opgegeven, wordt deze methode override genoemd. Bepaalde dingen om te onthouden bij het negeren van methoden zijn:

  • De methode moet dezelfde naam hebben als de methode die in de bovenliggende klasse wordt vermeld
  • De methode moet ook dezelfde parameter hebben als een parameter die wordt vermeld in de bovenliggende klasse.
  • Er moet de erfenis zijn, dat wil zeggen de IS-A-relatie.

Werken met polymorfisme?

Wanneer een klasse meerdere methoden heeft die dezelfde naam maar verschillende parameters hebben, wordt deze methode Overbelasting van de methode genoemd.

Stel dat we slechts één bewerking hoeven uit te voeren en dan dezelfde naam hebben als de methoden, zou de leesbaarheid van het programma verbeteren. Manieren om de methode in Java te overbelasten is:

  • Het aantal argumenten wijzigen
  • Het gegevenstype wijzigen

In Java is het echter niet mogelijk als we alleen het retourtype van de methode wijzigen.

voordelen

  • Polymorfisme helpt programmeurs om de code en ook de klassen die ooit zijn geschreven om te testen en te implementeren opnieuw te gebruiken. (Herbruikbaarheid van code)
  • Een enkele variabelenaam kan variabelen van meerdere gegevenstypen (int, float, double, long, enz.) Opslaan.
  • Verhoogt de leesbaarheid van het programma.

Waarom zouden we polymorfisme gebruiken?

Afgezien van dynamisch polymorfisme en statisch polymorfisme, zijn er enkele Java-programmeereigenschappen die ander polymorfisme vertonen dan de twee hoofdtypen.

Dit zijn - dwang, polymorfe parameters en operatoroverbelasting

Dwang

Laten we dwang begrijpen met een heel eenvoudig voorbeeld. Beschouw een string met waarde "dwangklasse:". Beschouw een ander geheel getal met waarde 1. Wat gebeurt er als u een stringwaarde concat met een geheel getal? De output van deze aaneenschakeling zou "dwangklasse: 1" zijn. Dit is wat Coercion wordt genoemd. De impliciete typeconversie wordt gedaan om typefouten te voorkomen. Het wordt gedaan door de compiler.

Overbelasting operator

Voordat we beginnen met de operatoroverbelasting, ook wel methode-overbelasting genoemd, laten we een voorbeeld doornemen. Beschouw een string met waarde "Operator" en een andere string als "Overbelasting". Gebruik het plusteken (+) met deze twee tekenreeksen net zoals u twee gehele getallen toevoegt. De (+) zal deze twee strings samenvoegen. In het geval van twee gehele getallen wordt de som van twee gehele getallen geretourneerd. Wanneer één symbool of operator de betekenis ervan kan veranderen, afhankelijk van de manier waarop ze worden gebruikt, wordt het type polymorfisme dat wordt getoond Operator Overbelasting genoemd.

parameters

In het polymorfisme kan een object in vele vormen voorkomen. In Java verwijst het naar het toestaan ​​van toegang tot een object op een van de volgende manieren zoals -

1. met behulp van de referentievariabele van de bovenliggende klasse of superklasse

2. met behulp van de referentievariabele van de klasse waarin deze bestaat.

Waarom hebben we polymorfisme nodig?

De belangrijkste reden waarom polymorfisme nodig is, is dat dit concept op grote schaal wordt gebruikt bij de implementatie van erfenis. Het speelt een belangrijke rol bij het toestaan ​​dat objecten verschillende interne structuren hebben bij het delen van dezelfde externe interface. Polymorfisme wordt duidelijk vermeld als een die voor velen in kaart wordt gebracht.

strekking

Binden is het verbinden van een methodeaanroep met het methodelichaam. We hebben twee soorten binding.

Statische binding (vroege binding): wanneer het type object wordt bepaald tijdens het compileren.

Dynamic Binding (Late Binding): wanneer het type object tijdens runtime wordt bepaald.

Conclusie

Polymorfisme wordt dus beschouwd als een van de zeer belangrijke kenmerken van de Object-Oriented Programming. Als je het hebt over een realistisch voorbeeld van polymorfisme, kan het zijn dat een persoon tegelijkertijd verschillende kenmerken kan hebben, bijvoorbeeld een man die tegelijkertijd een zoon is, een echtgenoot, een werknemer. Dus dezelfde persoon verwerft ander gedrag in verschillende situaties. Dit wordt in objectgeoriënteerde termen polymorfisme genoemd, een belangrijk kenmerk van objectgeoriënteerd programmeren.

Aanbevolen artikelen

Dit is een leidraad geweest voor Wat is polymorfisme ?. Hier hebben we de Working, Scope, behoefte en voordelen van polymorfisme besproken. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -

  1. Wat is JavaScript?
  2. Wat is HTML
  3. Wat is Python
  4. Polymorfisme in C #
  5. Arrays in Java Programming
  6. Typ conversie in Java met typen en voorbeelden
  7. Handleiding voor conversie in Java met voorbeelden
  8. Statische binding en dynamische binding Introductie | Toepassingen