Polimorfizam u Javi

Sadržaj
Unutar objektno orijentiranog programiranja postoje 3 temeljna stupa, nasljedstvo, što nam omogućuje dobivanje atributa i metoda nadređene klase, inkapsulacija koji nam omogućuje održavanje metoda i atributa klase i koji se ne bi trebali vidjeti izvan nje, a treća koja je polimorfizam.
PolimorfizamRiječ polimorfizam dolazi od grčke riječi i znači da ima mnogo oblika, pa tada možemo definirati da je polimorfizam sposobnost korištenja mnogih oblika u Java.
Kako bismo razumjeli što je polimorfizam Moramo razumjeti ključne pojmove, jedan od njih su tipovi, tip je definicija koja se generira iz klase, pa to dovodi do dva dodatna povezana pojma.
PodvrstaKada stvaramo klasu koja nasljeđuje od druge stvaramo podtip, budući da je to tip izveden iz superiornog tipa, možemo na primjer reći da ako imamo klasu Geometrijski lik i od toga stvaramo klasu Krug koji ga nasljeđuje, tada naša klasa Circle definira podtip GeometricFigure.
NadtipeUpravo je suprotno, kada se naslijedi klasa, ona postaje nadklasa ili nadređena klasa, pa se sada ispostavlja da je nadtipa, to jest primarni tip ili koji pomaže definirati njegov tip podtipova, ako slijedimo primjer koji smo već definirali, nadtip bi bio klasa Geometrijski lik.
Ovime definiramo pojmove koji će nam pomoći u razumijevanju polimorfizma, ako primjer stavimo malo opsežnije možemo reći da će krug uvijek biti tipa Geometrijski lik, ali ne sve vrste Geometrijski lik bit će tog tipa Krug, ako govorimo o klasama koje smo upravo definirali, na primjer ako sada stvorimo podrazred koji nasljeđuje od klase Geometrijski lik i zove se Pravokutnik, sada imamo novi podtip, koji je još uvijek tipa Geometrijski lik ali poprima novi oblik i tu je polimorfizam.
Budući da smo vidjeli teoriju tipova, tada možemo reći da će potklasa uvijek biti tipa svoje nadređene klase, ali da nadređena klasa neće biti tipa svoje podklase ili podređene klase, s tim tada možemo pogledajte sljedeći primjer gdje u metodi tražimo objekt tipa Geometrijski likStoga možemo primiti njegove mnoge oblike, u ovom slučaju možemo primiti objekt Krug ili Pravokutnik, jer oba, unatoč različitosti, dijele nadtip.
Pogledajmo na sljedećoj slici kod koji nam pokazuje kako bi se metoda ponašala sa polimorfizam:

U ovom primjeru metoda show object očekuje objekt tipa Geometrijski lik, ako znamo da su Krug i Pravokutnik podklase slike FigureGeometric, tada možemo proslijediti njihove objekte metodi budući da su različiti oblici FigureGeometrije i ispunjavaju funkciju.
Već smo naučili koristiti treći stup objektne orijentacije, sada možemo izgraditi opsežnije metode koje se mogu ponovno koristiti u različitim implementacijama naših programa u Java.Je li vam se svidio i pomogao ovaj vodič?Autor možete nagraditi pritiskom na ovaj gumb kako biste mu dali pozitivan bod

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave