Uvod v polimorfizem

Polimorfizem je koncept, s pomočjo katerega je mogoče izvesti eno samo delovanje na različne načine. Izhaja iz dveh grških besed, torej poli in morfov. „Poli“ pomeni veliko, „morf“ pa oblike. Polimorfizem odslej pomeni številne oblike. V objektno usmerjenem programiranju ga je mogoče opredeliti kot sposobnost programskega jezika, da predmete različno obdela, odvisno od razreda ali vrste podatkov. V osnovi ga lahko definiramo kot zmožnost izpeljanih razredov za redefiniranje metod.

Razumevanje

Dve vrsti polimorfizma sta polimorfizem v kompilaciji in teče polimorfizem. Kompilarni polimorfizem se izvaja z metodo preobremenitve, polimorfizem izvajanja pa s prevladovanjem metode. Polimorfizem izvajanja, imenovan tudi Dynamic Method Dispatch, je postopek, pri katerem se poziv k prenastavljeni metodi reši med izvajanjem, kljub času kompilacije. Pri tem se preklicana metoda prikliče prek referenčne spremenljivke nadrejenega razreda. Prav tako polimorfizma izvajanja ne morejo doseči člani podatkov.

Kako polimorfizem olajša delo?

Je objektno usmerjena programska lastnost. Z uporabo polimorfizma lahko razred kaže različne funkcionalnosti, tudi če imajo skupen vmesnik. Tako lahko rečemo, da ta dolgoročna razlaga osnovni koncept. Pri polimorfizmu velja omeniti, da vsa delovna koda v različnih razredih ne zahteva vedenja o razredu, ki ga uporablja, saj je način uporabe enak.

Je objektno usmerjena programska lastnost. Z uporabo polimorfizma lahko razred kaže različne funkcionalnosti, tudi če imajo skupen vmesnik. Tako lahko rečemo, da ta dolgoročna razlaga zelo osnovni koncept. Pri polimorfizmu velja omeniti, da vsa delovna koda v različnih razredih ne zahteva vedenja o razredu, ki ga uporablja, saj je način uporabe enak.

Razmislite o resničnem scenariju polimorfizma. Vzemite primer gumba. Vemo, da lahko s pritiskom pritisnemo na gumb, vendar ne poznamo rezultata pritiska na gumb ali referenco njegove uporabe. Pri tem je treba opozoriti, da rezultat ne bi vplival na način uporabe.

Osnovni cilj polimorfizma je torej narediti predmete, ki bodo med seboj zamenljivi, odvisno od potreb.

Kaj lahko storite s polimorfizmom?

Če ima nadrejeni razred enak način kot deklariran v nadrejenem razredu, mu rečemo metoda, ki prevlada.

Ali z drugimi besedami, če otroški razred zagotavlja izvajanje metode, ki jo je razglasil njegov nadrejeni razred, se imenuje metoda prevladovanja. Nekatere stvari, ki si jih je treba zapomniti pri prevladovanju metod, so:

  • Metoda mora imeti isto ime kot ena, omenjena v nadrejenem razredu
  • Metoda mora imeti tudi enak parameter kot omenjeni v nadrejenem razredu.
  • Obstajati mora dedovanje, torej odnos IS-A.

Delo s polimorfizmom?

Če ima razred več načinov, ki imajo isto ime, vendar različne parametre, se imenuje metoda preobremenitev.

Recimo, da moramo izvesti samo eno operacijo, če bi imelo isto ime kot metode, bi povečalo berljivost programa. Načini za preobremenitev metode na Javi so:

  • Spreminjanje števila argumentov
  • Spreminjanje vrste podatkov

Vendar na Javi ni mogoče, če spremenimo samo vrnitveni način metode.

Prednosti

  • Polimorfizem pomaga programerjem, da ponovno uporabijo kodo in tudi razrede, ki so bili nekoč napisani, da se preizkusijo in izvajajo. (Ponovna uporaba kode)
  • Eno ime spremenljivke lahko shrani spremenljivke več vrst podatkov (int, float, double, long itd.).
  • Poveča berljivost programa.

Zakaj bi uporabljali polimorfizem?

Poleg dinamičnega polimorfizma in statičnega polimorfizma obstaja še nekaj programskih značilnosti Jave, ki kažejo polimorfizem, razen dveh glavnih vrst.

To so - prisila, polimorfni parametri in preobremenitev operaterja

Prisila

Naj nas razume prisila z zelo preprostim primerom. Razmislite o nizu z vrednostjo "prisilni razred:". Razmislite o drugem celotnem številu z vrednostjo 1. Kaj se zgodi, če strnete vrednost niza z celoštevilčno vrednostjo? Rezultat tega združevanja bi bil "prisilni razred: 1". Temu se reče prisila. Pretvorba implicitne vrste se izvede, da se preprečijo napake tipa. To naredi prevajalnik.

Operater preobremenitev

Preden začnemo s preobremenitvijo operaterja, imenovano tudi metoda preobremenitve, pojdimo skozi primer. Vzemite niz z vrednostjo "Operator" in drugi niz kot "Overloading". Uporabite simbol plus (+) s tema dvema nizoma, tako kot dodate dva cela števila. (+) Bosta združila ta dva niza. V primeru dveh celih števil se vrne vsota dveh celih števil. Kadar lahko en simbol ali operater spremeni svoj pomen glede na način uporabe, se vrsta razstavljenega polimorfizma imenuje Operator Overloading.

Parametri

V polimorfizmu se lahko objekt pojavi v več oblikah. V Javi se nanaša na dovoljenje dostopa do predmeta na enega od naslednjih načinov, na primer -

1. z uporabo referenčne spremenljivke nadrejenega razreda ali nadrazreda

2. z uporabo referenčne spremenljivke razreda, v katerem obstaja.

Zakaj potrebujemo polimorfizem?

Glavni razlog, zakaj je potreben polimorfizem, je ta, da se ta koncept široko uporablja pri izvajanju dedovanja. Pomembno vlogo ima pri tem, da imajo predmeti lahko različne notranje strukture pri skupni rabi istega zunanjega vmesnika. Polimorfizem je jasno naveden kot tisti, ki je preslikan za mnoge.

Obseg

Vezava povezuje klic metode s telesom metode. Imamo dve vrsti vezave.

Statična vezava (zgodnja vezava): ko se tip predmeta določi v času prevajanja.

Dinamična vezava (pozna vezava): ko se tip predmeta določi med izvajanjem.

Zaključek

Polimorfizem tako velja za eno zelo pomembnih značilnosti objektno usmerjenega programiranja. Če govorite o resničnem primeru polimorfizma, bi lahko bil človek hkrati lahko drugačne lastnosti, na primer moški hkrati sin, mož, zaposleni. Torej ista oseba v različnih situacijah pridobi različno vedenje. To, v objektno usmerjenem smislu, imenujemo polimorfizem, pomembna značilnost objektno usmerjenega programiranja.

Priporočeni članki

To je vodilo o tem, kaj je polimorfizem ?. Tu smo razpravljali o delu, obsegu, potrebah in prednostih polimorfizma. Če želite izvedeti več, lahko preberete tudi druge naše predlagane članke -

  1. Kaj je JavaScript?
  2. Kaj je HTML
  3. Kaj je Python
  4. Polimorfizem v C #
  5. Nizi v programiranju Java
  6. Vtipkajte pretvorbo v Javi s tipi in primeri
  7. Vodnik za pretvorbo v Javi s primeri
  8. Statična in dinamična vezava | Uvod | Uporaba