Guruh talabasi Majidov Husanboyning mqudv
Polimorfizm. Method overloading nima va unga misol keltiring
Download 473.6 Kb.
|
Android Studio 1-oraliq Nazorat
Polimorfizm. Method overloading nima va unga misol keltiring Polimorfizm orqali bir jarayonni turli yo'llar bilan tashkillashtirishimiz mumkin. Polimorfizm so'zi yunoncha ikki so'zning birikmasidan tashkil otpgan «poly» — Ko'p va «morphs» — formalar. Polimorfizm ham ko'p formalar degan ma'noni anglatadi. Javada polimorfizmni ikki turi mavjud: programma kompilatsiya bo'layotgan vaqtda sodir bo'ladigan polimorfizm (compile time polymorphism, static polymorphism) va programma ishlab turgan vaqtda sodir bo'ladigan polimorfizm (runtime polymorphism, dynamic polymorphism). Javada polimorfizm metodlarni qayta yuklash (overload) va qayta yozish (override) bilan amalga oshiriladi. Compile time polimorfizm Agar metodni qayta yuklansa (overload) bu — compile time polimorfizmga misol bo'ladi. Ya'ni, agar class ichida bir xil nomli, ammo argumentlarning soni yoki argumentlarning ma'lumot tipi (yoki ikkalasi) farq qiladigan metodlar mavjud bo'lsa, bu compile time polimorfizm bo'ladi. Quyidagi misolga qarang:
{
{ System.out.println ("metodA:" + num); void metodA(int num1, int num2) { System.out.println ("metodA:" + num1 + "," + num2); } double metodA(double num) { System.out.println("metodA:" + num); return num; }}
{
{ X Obj = new X(); double natija; Obj.metodA(20); Obj.metodA(20, 30); result = Obj.metodA(5.5); System.out.println("Javob:" + natija); }}
metodA:20 metodA:20,30 metodA:5.5 Javob:5.5 Yuqoridagi misolda, X classning 3 ta metodi bor. Uchala metodlarning xam nomlari bir xil — metodA, ammo metodlarning argumentlarida farqlar mavjud. Kompilyatsiya vaqtida kompilyator metodga yuborilayotgan argumentlarning soni va ma'lumot tipiga qarab kerakli metodni tanlab oladi. Qaysi metodlarni chaqirish kompilatsiya vaqtida aniqlanishi tufayli ham bu polimorfizm turi Compile time polimorfizm deb nomlanadi. Compile time polimorfizmni yana Static binding, Early binding deb ham ataladi. Download 473.6 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling