Introduktion till polymorfism

Polymorfism är begreppet med hjälp av vilken enstaka handling på olika sätt kan utföras. Det härrör från två grekiska ord, det vill säga poly och morfer. "Poly" betyder många och "morphs" betyder former. Hittills innebär polymorfism många former. I objektorienterad programmering kan det definieras som ett programmeringsspråk förmåga att bearbeta objekt på olika sätt beroende på antingen deras klass eller deras datatyp. I princip kan vi definiera det som förmågan för härledda klasser att omdefiniera metoder.

Förståelse

De två typerna av polymorfism är kompileringstid polymorfism och polymorfism av körtid. Polymorfism för kompileringstid utförs genom överbelastning av metoden och polymorfism av runtime genom att man överskrider metoden. Runtime-polymorfism, även kallad Dynamic Method Dispatch, är en process där samtal till en åsidosatt metod löses under körning trots vid sammanställningstiden. Här kallas den åsidosatta metoden genom en referensvariabel för en överordnad klass. Runtime-polymorfism kan inte heller uppnås av datamedlemmar.

Hur gör polymorfism att arbeta så enkelt?

Det är en objektorienterad programmeringskarakteristik. Med hjälp av polymorfism kan en klass visa olika funktioner även om de har ett gemensamt gränssnitt. Således kan vi säga att det på lång sikt förklarar ett grundläggande koncept. Det anmärkningsvärda med polymorfism är att all arbetskod i olika klasser inte kräver att veta om klassen som används av den eftersom det sättet att använda är detsamma.

Det är en objektorienterad programmeringskarakteristik. Med hjälp av polymorfism kan en klass visa olika funktioner även om de har ett gemensamt gränssnitt. Således kan vi säga att denna långsiktiga förklaring är ett mycket grundläggande koncept. Det anmärkningsvärda med polymorfism är att all arbetskod i olika klasser inte kräver att veta om klassen som används av den eftersom det sättet att använda är detsamma.

Överväg ett verkligt scenario för polymorfism. Ta ett exempel på en knapp. Vi vet att genom att använda ett visst tryck kan vi klicka på knappen men vi känner inte till resultatet för att trycka på knappen eller referensen för dess användning. Poängen här att notera är, i vilket fall som helst, resultatet skulle inte påverka hur det används.

Så det grundläggande målet med polymorfism är att göra föremål som är utbytbara beroende på behoven.

Vad kan du göra med polymorfism?

När barnklass har samma metod som en som förklaras i förälderklassen, kallar vi det en metod som åsidosätter.

Eller med andra ord, om en barnklass tillhandahåller implementeringen av den metod som har förklarats av sin överordnade klass, kallas den metodöverskridande. Vissa saker att komma ihåg vid åsidosättande av metod är:

  • Metoden måste ha samma namn som nämns i föräldraklassen
  • Metoden måste också ha samma parameter som den som nämns i moderklassen.
  • Det måste finnas arvet, det vill säga IS-A-förhållandet.

Arbetar du med polymorfism?

När en klass har flera metoder som har samma namn men olika parametrar, kallas den för metodöverbelastning.

Anta att vi bara måste utföra en operation, då att ha samma namn som metoderna skulle öka programmets läsbarhet. Sätt att överbelasta metoden i Java är:

  • Ändra antalet argument
  • Ändra datatyp

Men i Java är det inte möjligt om vi bara ändrar metodens returtyp.

fördelar

  • Polymorphism hjälper programmerare att återanvända koden och även klasserna som en gång har skrivits för att testas och implementeras. (Återanvändning av kod)
  • Ett enda variabelnamn kan lagra variabler för flera datatyper (int, float, double, long, etc).
  • Ökar programmets läsbarhet.

Varför ska vi använda polymorfism?

Förutom dynamisk polymorfism och statisk polymorfism, finns det några Java-programmeringsegenskaper som uppvisar andra polymorfismer än de två huvudtyperna.

Dessa är - tvång, polymorfa parametrar och överbelastning av operatörer

Tvång

Låt oss förstå tvång med ett mycket enkelt exempel. Betrakta en sträng med värdet "tvångsklass:". Överväg ett annat heltal med värdet 1. Vad händer nu när du concaterar ett strängvärde med ett heltalvärde? Utgången från denna sammankoppling skulle vara "tvångsklass: 1". Detta är vad som kallas tvång. Den implicita typkonverteringen görs för att förhindra typfel. Det görs av kompilatorn.

Operatörens överbelastning

Innan vi börjar med operatörens överbelastning, även känd som metodöverbelastning, låt oss gå igenom ett exempel. Betrakta en sträng med värdet "Operatör" och en annan sträng som "överbelastning". Använd plussymbolen (+) med dessa två strängar precis som du lägger till två heltal. (+) Kommer att sammanfoga dessa två strängar. För två heltal returneras summan av två heltal. När en symbol eller operatör har förmågan att ändra sin betydelse beroende på hur de används, kallas typen av polymorfism som visas ut Operator Overloading.

parametrar

I polymorfism kan ett objekt förekomma i många former. I Java hänvisar det till att tillåta åtkomst till ett objekt på något av följande sätt som -

1. med hjälp av referensvariabeln för sin överordnade klass eller superklass

2. använda referensvariabeln för den klass där den finns.

Varför behöver vi polymorfism?

Det främsta skälet till att polymorfism behövs är att detta koncept används i stor utsträckning för att genomföra arv. Det spelar en viktig roll för att låta objekt ha olika interna strukturer när de delar samma externa gränssnitt. Polymorfism anges tydligt som en som kartläggs för många.

Omfattning

Bindning kopplar ett metodsamtal till metodkroppen. Vi har två typer av bindande.

Statisk bindning (tidig bindning): När typen av objekt bestäms vid sammanställningstiden.

Dynamisk bindning (Late Binding): När typen av objekt bestäms vid körning.

Slutsats

Polymorfism betraktas alltså som en av de mycket viktiga funktionerna i den objektorienterade programmeringen. Om du pratar om ett verkligt exempel på polymorfism, kan det vara en person på samma gång kan ha olika egenskaper, till exempel är en man på samma gång en son, en man, en anställd. Så samma person förvärvar olika beteenden i olika situationer. Detta, i objektorienterade termer, kallas polymorfism, ett viktigt kännetecken för objektorienterad programmering.

Rekommenderade artiklar

Detta har varit en guide till Vad är polymorfism ?. Här diskuterade vi polymorfismens arbete, omfattning, behov och fördelar. Du kan också gå igenom våra andra föreslagna artiklar för att lära dig mer -

  1. Vad är JavaScript?
  2. Vad är HTML
  3. Vad är Python
  4. Polymorfism i C #
  5. Arrays i Java-programmering
  6. Skriv konvertering i Java med typer och exempel
  7. Guide till konvertering i Java med exempel
  8. Statisk bindning och dynamisk bindning | Introduktion | användningsområden

Kategori: