Besplatni Java kurs - 67. deo
Ovo je samo jedan od članaka koji zajedno čine besplatan Java tutorijal.
Java metode u istoj klasi mogu imati isto ime. U tom slučaju, govotimo o preopterećenju metoda (eng. method overloading).
Preopterećenje metoda – kada više metoda deli isto ime
Zamisli da si vlasnik jedne knjižare. Neko dođe i kaže ti: „Daj mi knjigu.” Ne znaš koju. Ali ako kaže: „Daj mi knjigu 'Dina'”, onda znaš, jer možeš da razumeš koju knjigu traže ako ti je poznat naslov. Ako kaže: „Daj mi knjigu čiji je kataloški broje 27”, opet znaš. Ista reč „daj”, ali različite informacije.
Ista priča važi i za Javu. Metode mogu imati isto ime, a različite parametre. To se zove preopterećenje metoda (method overloading). U ovom slučaju imaš dve verzije metode dajKnjigu, obe se zovu isto. Ali jedna metoda dajKnjigu ima int parametar, dok druga ima parametar tipa String.
Kôd bi mogao da izgleda ovako:
class Knjizara {
void dajKnjigu(String naslov) {
System.out.println("Izvoli, knjiga sa naslovom: " + naslov);
}
void dajKnjigu(int kataloskiBroj)) {
System.out.println("Izvoli, knjiga sa kataloškim brojem: " + kataloskiBroj);
}
}
class Rad {
public static void main(String args[]) {
Knjizara mojaKnjizara = new Knjizara();
mojaKnjizara.dajKnjigu("Dina");
mojaKnjizara.dajKnjigu(27);
}
}
Šta se ovde dešava, korak po korak:
- Napravili smo klasu Knjižara sa dve metode, obe se zovu
dajKnjigu - Prva metoda prima
String(naslov knjige) - Druga metoda prima
int(kataloški broj) - U
mainmetodi pravimo objekatmojaKnjižara - Kada pozovemo
dajKnjigu("Dina"), Java razmišlja: „Stringje prosleđen kao parametar, zovem prvu metodu” - Kada pozovemo
dajKnjigu(27), Java razmišlja: „Parametar je tipaint, zovem drugu metodu”
Šta primećuješ?
Kao što vlasnik knjižare razume kupca na osnovu toga kakvu informaciju pruža (naslov ili kataloški broj), tako i Java razume koju metodu da pozove na osnovu tipa parametra koji se prosleđuje.
No comments:
Post a Comment