Page 95 - Demo
P. 95
TEMATIKA 5 GJUHA E PROGRAMIMIT JAVAMetodat e reja duhet t’i përkasin vetëm klasës PeshkuKuq. Një veprim karakteristik për këtë klasë, që jo të gjitha kafshët shtëpiake mund ta kryejnë është, p.sh., zhytja në akuarium. Le të krijojmë një funksion, ku i kërkojmë peshkut që të zhytet në një thellësi të caktuar të akuariumit e më pas t'i kërkojmë të na tregojë thellësinë ku ndodhet (fig. 2). Fig. 2Fig. 3KONTROLLONI NJOHURITË1. Krijoni një klasë të re që quhet Macja, duke u nisur nga klasa prind që është Kafshet_Shtepiake. Shtoni një metodë për klasën Macja me prototip: void zeri(), i cili tregon që macja mjaullin.2. Mbishkruani metodën fle() që ndodhet te klasa Kafshet_Shtepiake, në mënyrë që të afishohet “Unë jam mace dhe dua të fle gjatë gjithë kohës”.3. Krijoni një objekt të klasës Macja dhe testo të gjitha metodat e klasës prind, por edhe ato specifike të klasës Macja.Thirrja e klasës PeshkuKuq paraqitet në figurën 3. Vëmë re se nga objekti i ri i krijuar për klasën PeshkuKuq mund të thirren edhe metodat e superklasës, edhe metodat e vetë subklasës. Mbishkrimi i metodave ose funksioneve (Overriding)Nëse do të rikthehemi në klasën Kafshe_Shtepiake, do të shohim që kjo klasë përmban një metodë, që quhet “tregoj”. Megjithatë, ne nuk dëshirojmë që objektet e klasës PeshkuKuq të “tregojnë” të njëjtën gjë si objektet e klasës Kafshe_Shtepiake. Për këtë arsye mund ta ndryshojmë sjelljen e klasës PeshkuKuq, duke krijuar një metodë tëre, prototipi i të cilës duhet të jetë identik me prototipin e metodës “tregoj” të klasës Kafshe_Shtepiake. Në këtë mënyrë, kur një objekt nga klasa PeshkuKuq të thërrasë metodën “tregoj”, atëherë veprimet që do të zbatohen, nuk do të jenë më ato që janë përcaktuar në superklasën Kafshe_Shtepiake, por ato do të përcaktohen në nënklasën PeshkuKuq. Ky proces në Java quhet mbishkrim (overriding), pasi të dyja metodat do të kenë të njëjtin emër, të njëjtin lloj kthimi dhe do të marrin të njëjtat parametra. Prototipi i metodës “tregoj” në klasën Kafshe_Shtepiake: public String tregoj (String fjala)Funksioni i ri, i cili do të krijohet brenda klasës PeshkuKuq, duhet të jetë:@Overridepublic String tregoj (String fjala){String përgjigje = “A nuk e dini se peshqit nuk flasin?”; return përgjigje;}Përpara se të shkruani funksionin, vendosni fjalë kyçe @Override.93

