Javada abstrakt classlar

Javada abstrakt classlar

Javada abstrakt classlar

Abstract kalit so’zi bilan yaratilgan classlar abstrakt classlar deb nomlanadi. Abstract classlar abstakt metodlar (tanasi yozilmagan metod) yoki abstrakt bo’lmagan metodlardan (tanasi yozilgan metod) tashkil topgan bo’ladi.

Abstrakt class quyidagicha e’lon qilinadi:

abstract class A{} 

Tanasi (implementation) yozilmagana va abstract kalit so’zi bilan yaratilgan metod — abstrakt metod deyiladi.

abstract void funksiya(); // tanasi yo'q va asbtrakt 

Abstrakt metodi bor bo’lgan abstrakt classga misol:

abstract class Motosikl{  
  abstract void run();  
}  
  
class Honda extends Motosikl{  
void yurmoq(){System.out.println("Yurmoqda...");}  
  
public static void main(String args[]){  
 Motosikl obj = new Honda();  
 obj.yurmoq();  
}  
}

Natija:

Yurmoqda... 

Yuqoridagi misolda Honda classi bitta abstrakt metodi (yurmoq) bor bo’lgan Motosikl abstarkt classidan nasl olayapti va uning abstrakt classi tanasini realizatsiya qilayapti.

Amaliyotda abstrakt class bir nechta classlar uchun ota class vazifasini bajaradi va abstrakt metodlar turli bola classlarda turlicha realizatsiya qilinadi.

Shuningdek abstrakt class konstruktor, tanasi bor metod, ma’lumotlar va hattoki main() metodga ega bo’lishi mumkin. Quyidagi misolga qarang:

 abstract class Motosikl{  
   Motosikl(){System.out.println("Motosikl yaratildi");}  
   abstract void yurmoq();  
   void tezlikOshirish(){System.out.println("tezlik oshirildi");}  
 }  
  
 class Honda extends Motosikl{  
 void yurmoq(){System.out.println("yurmoqda...");}  
 }  
 class MainClass{  
 public static void main(String args[]){  
  Motosiklobj = new Honda();  
  obj.yurmoq();  
  obj.tezlikOshirish();  
 }  
}

Natija:

Motosikl yaratildi
yurmoqda...
tezlik oshirildi

Esda tuting: Agar class tarkibida bitta bo’lsa ham abstarkt metod mavjud bo’lsa, class ham abstract bo’lishi kerak.

Esda tuting: Agar biror class abstrakt classdan voris olsa uning barcha abstrakt metodlarini realizatsiya qilishi kerak yoki o’zi ham abstrakt class bo’lishi kerak.

Manba:

Umumiy Dasturlash
Javada abstrakt classlar