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:


JONNY

Muallif haqida

JONNY Arduino, Java, C#, Android, Windows, Linux, Debian, Javascript. O'zbekistonni rivojlantiramiz! Dasturlash orqali vatanimizni yangi marralarga olib chiqamiz.


Blogdagi so‘nggi maqolalar:


Fikrlar 2

texnoman
texnoman
Maqola uchun rahmat.
WinStyle
vejon
abstrakt klassni oiddiy klassdan farqi nimada? Shu haqida ham yozilsa yaxshi bo'ladi.
Iltimos, fikr bildirish uchun saytga kiring yoki ro‘yxatdan o‘ting!