Sadržaj
Razvoj aplikacija u Java ima veliku korist od filozofije koju koristi, a to je orijentacija objekta, jer nam omogućuje modeliranje situacija i objekata u stvarnom svijetu, olakšavajući prijenos fizičkih procesa u digitalni prikaz u kodu.Jedan od alata koji najviše koristimo je nasljeđivanje, gdje stječemo sva svojstva i metode više klase, ali što se događa kada metoda ove klase od koje nasljeđujemo nije u skladu s onim što želimo, jer ovdje dolazi ono što dolazi u igru nazivamo metodom nadjačavanja.
To se događa kada a podrazred mora promijeniti način na koji je metoda njegove nadređene klase implementirana, ili dodati neke dodatne pojedinosti ili jednostavno potpuno promijeniti metodu, ova radnja nema ograničenja, iako je na razini misli ideja da prebrisana metoda radi ili je u skladu s istu temu izvorne metode, na primjer ako imamo metodu tzv printAttributes (); i njegova je funkcija ispisati neke atribute objekta, ako ga prepišemo, ne bismo ga trebali natjerati da izračuna kredit, nego ako pretrpi prebrisanje, to je zato što mijenjamo atribute koje mora ispisati ili dodajemo posebne atribute objekta podrazred.
Prilikom prepisivanja metode morate imati na umu neke stvari:
- Metoda se može prebrisati samo ako je dostupna, pa a privatna metoda ne može se prebrisati jer mu se ne može pristupiti izvan vlastite klase, pa ako a privatna metoda prepisana je u podređenom razredu, nova metoda doista nema veze s nadrazredom.
- A statička metoda Ne može se ni prebrisati, pa ako redefiniramo statičku metodu u našoj podređenoj klasi, metoda roditeljske klase je skrivena za upotrebu i jedini način da joj se pristupi je izravnim pozivom s imenom roditeljske klase, na primjer : Osoba.statička metoda ()
Budući da poznajemo teorijsku osnovu, pogledajmo kako nadjačavanje metode. Pretpostavimo da imamo ovu roditeljsku klasu:
Kao što vidimo imamo atribut boje i metodu koja ispisuje atribute, a sada da vidimo kako izgleda podređena klasa koja prepisuje metodu:
Ovdje vidimo da smo redefinirali metodu tako da ispisuje dodatni redak i prikazuje nam radijus, budući da nam informacije iz prve metode služe, odlučili smo je nazvati pomoću riječi Super, tako da naša metoda zna da mora pozvati metodu svoje roditeljske klase i kad stvorimo instancu klase pozvat će metodu svoje klase Krug koji je prepisan.
VažnoKako vidimo da je ova implementacija prilično jednostavna, da bismo dovršili, moramo se sjetiti da je prilikom prepisivanja metoda metoda koju ćemo stvoriti da prepiše nadređenu metodu mora prihvatiti iste argumente i vratiti isti tip podataka, jer ako promijenimo argumenti, to jest, količina i tip podataka kojim se zapravo bavimo preopterećeni su.Je li vam se svidio i pomogao ovaj vodič?Autor možete nagraditi pritiskom na ovaj gumb kako biste mu dali pozitivan bod