Polymorfisme i Java - Arbejde, typer og betydning med eksempler

Indholdsfortegnelse:

Anonim

Introduktion til polymorfisme i Java

Polymorfisme er defineret som et koncept, hvor man sammen med hjælp fra en handling på adskillige måder kunne udføres. Ordet stammer fra de 2 græske ord, der er både poly og morfer. Her, som du måske ved, betyder "poly" mange, såvel som "morfer", mange former. Derfor ville ordet polymorfisme antyde mange former. Lad os nu forstå detaljerede polymorfisme i java.

Hvordan fungerer polymorfisme i Java?

Polymorphism er et programmeringsegenskab for OOO. Hver gang vi bruger det, har en klasse evnen til at udstille mange funktionaliteter, selvom de udviser den fælles grænseflade. Derfor kan vi antage, at det lange ord faktisk fortæller et meget simpelt koncept.

Det, der er værd at bemærke ved polymorfisme, er, at hele arbejdskoden, der findes i adskillige klasser, ikke rigtig har brug for at forstå den klasse, der bliver brugt af den på samme måde at bruge, er den samme.

Lad os antage det virkelige eksempel på polymorfisme. Lad os antage knappen. I ved alle, at hvis vi anvender lidt tryk, vil du være i stand til at trykke på knappen, men vi vil ikke kende resultatet af at lægge pres på knappen og formålet med brugen. Så opmærksom på, at her at tage sig af, er, at uanset hvad, resultatet ikke vil påvirke den procedure, der bliver brugt.

Så det grundlæggende mål med polymorfisme er at fremstille genstande, der kan udskiftes afhængigt af behovene.

Typer af polymorfisme i Java

De to typer polymorfisme er polymorfisme i kompileringstid og polymorfisme af kørselstid. Kompileringstid-polymorfisme udføres ved metodeoverbelastning og runtime-polymorfisme ved metodeoverskridelse.

Runtime-polymorfisme, også kaldet Dynamic Method Dispatch, er en proces, hvor opkald til en overstyret metode løses ved kørsel på trods af kompileringstiden. Heri kaldes den overstyrede metode gennem en referencevariabel i en overordnet klasse. Datamedlemmer kan heller ikke opnå Runtime-polymorfisme.

Betydningen af ​​polymorfisme i Java

Hvis vi kasserer dynamisk polymorfisme såvel som statisk polymorfisme, findes der i programmering nogle af Java-programmeringsegenskaberne, der udviser polymorfisme, der er andet end disse to vigtige typer.

Det er disse - Tvang, operatøroverbelastning og polymorfe parametre.

tvang

Lad os prøve at få betydningen af ​​tvang gennem dette eksempel. Antag, at der findes værdien af ​​den streng, der skal være co-værdi: Antag, at det andet tal, der har værdien 2. Hvad nu vil der ske, når du sammenlægger denne strengværdi sammen med dette nummer? Resultatet, som vi får ud af denne sammenkædning, ville være "co-værdi: 2". Dette er kendt som tvang. Dette er en konvertering, der er af implicit type, der udføres for at forhindre fejl.

Overbelastning af operatøren

Når vi starter med begrebet overbelastning af operatører, så lad mig se på et scenario. Antag, at der er den streng, der har værdien "Operate" og 2., der har værdien som "Overload". Derefter vil vi bruge plussymbolet (+) på samme måde tilføjelsen af ​​2 tal. Dette (+) ville være sammenkædet. Hvis vi overvejer to heltal, vil tilføjelse af disse to numre blive returneret. Hver gang et symbol eller en operatør har evnen til at ændre fortolkningen i betragtning af den procedure, der er blevet brugt, kaldes den polymorfisme, der bliver gjort, Operator Overloading.

Polymorfe parametre

Det betyder at give adgang til ethvert objekt på en af ​​disse nedenstående måder angivet som under -

  1. Anvendelse af en referencevariabel, der hører til begge overordnede klasser
  2. Brug af en referencevariabel, der hører til klassen, hvor den findes.

Polymorfisme Omfang

Binding betyder forbindelsen af ​​en metodekald til en metodekrop. Der findes to slags bindinger:

  • 1. st er statisk binding, hvilket betyder, når objekttypen er blevet bestemt under kompileringstiden.
  • Andet er dynamisk binding, hvilket betyder, når objekttypen er blevet bestemt under kørselstid.

Den eneste grund til, hvorfor polymorfisme er påkrævet, ligger, da det er enormt nødvendigt med konceptet i gennemførelsen af ​​arv. Derudover spiller det en meget vigtig rolle, der gør det muligt for objekterne at arve adskillige strukturer ved deling af interface. Polymorfisme er blevet nævnt klart som kun en, der er kortlagt for mange.

Eksempler på polymorfisme i Java

Nedenfor er de forskellige eksempler på polymorfisme i Java:

Eksempel # 1 - Java-program til fremvisning af metodeoverbelastning

Kode:

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

Produktion:

Eksempel 2 - Java-program til fremvisning af operatøroverbelastning

Kode:

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

Produktion:

Eksempel 3 - Java-program til metodeoverbelastning

Kode:

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

Produktion:

Konklusion

Den eneste grund til, hvorfor polymorfisme er påkrævet, ligger, da dens koncept er enormt nødvendigt i gennemførelsen af ​​arv. Derudover spiller det en meget vigtig rolle, der gør det muligt for objekterne at arve adskillige strukturer ved deling af interface. Polymorfisme er blevet nævnt klart som kun en, der er kortlagt for mange.

Anbefalede artikler

Dette er en guide til polymorfisme i Java. Her diskuterer vi bearbejdning af polymorfisme i Java med dens typer og betydning sammen med forskellige eksempler og kodeimplementering. Du kan også se på de følgende artikler for at lære mere -

  1. Polymorfisme i C #
  2. JTextField i Java
  3. Overbelastning og tilsidesættelse i C ++
  4. Hvad er Java-arv?
  5. Overbelastning i Java
  6. Python-overbelastning
  7. Komplet guide til arv i Python
  8. Typer og håndteringsfejl i JavaScript
  9. Fordele ved statisk binding og dynamisk binding