java

Javada abstrakt klass

Javada ikki xil klass mavjud ular abstract, va abstract-bo’lmagan klasslar.

Abstract kalit so’zi bilan yaratilgan klasslar abstrakt klasslar deb nomlanadi. Abstrakt klasslar abstakt funksiyalar (tanasi yozilmagan funksiya) yoki abstrakt bo’lmagan funksiyalardan (tanasi yozilgan funksiya) tashkil topgan bo’ladi.

Abstrakt klass quyidagicha e’lon qilinadi:

abstract class A{

}

  • Abstrakt klasslar odatda super(ota) klaslar yaratishda ishlatiladi.
  • Abstract klasslardan yaratilayotgan klasslarimizni sxemasni ya’ni skletini yaratishda foydlaniladi.
  • Abstract klassimizda undan meros oladigan klasslar uchun umumiy bo’lgan funksiyalar, konstantlar, o’zgaruvchilar e’lon qilinadi.

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

abstract void funksiya();

Abstrakt funksiyasi bor bo’lgan abstrakt klassga misol:

  1. public abstract class Mashina {
  2.  
  3. abstract void madeli();
  4.  
  5. abstract void mashinaTuri();
  6.  
  7. abstract void uzunligi();
  8.  
  9. abstract void rangi();
  10.  
  11. }
  12.  
  13. public class Malibu extends Mashina{
  14.  
  15. @Override
  16.  
  17. void madeli() {
  18.  
  19. System.out.println("Chevrolet");
  20.  
  21. }
  22.  
  23. @Override
  24.  
  25. void mashinaTuri() {
  26.  
  27. System.out.println("Malibu");
  28.  
  29. }
  30.  
  31. @Override
  32.  
  33. void uzunligi() {
  34.  
  35. System.out.println("4.7 metr");
  36.  
  37. }
  38.  
  39. @Override
  40.  
  41. void rangi() {
  42.  
  43. System.out.println("Qora");
  44.  
  45. }
  46.  
  47. public static void main(String[] args) {
  48.  
  49. Mashina mashina = new Malibu();
  50.  
  51. mashina.madeli();
  52.  
  53. mashina.mashinaTuri();
  54.  
  55. mashina.uzunligi();
  56.  
  57. mashina.rangi();
  58.  
  59. }
  60.  
  61. }

Natija :

Chevrolet

Malibu

4.7 metr

Qora

Yuqoridagi misolda Malibu klassi abstrakt funksiyalari (modeli, mashinaTuri, uzunligi, rangi) bor bo’lgan Mashina abstarkt klassidan nasl olayapti va uning abstrakt klassi tanasini realizatsiya(Override) qilayapti.

Amaliyotda abstrakt klass bir nechta klasslar uchun ota klass vazifasini bajaradi va abstrakt funksiyalar turli bola klasslarda turlicha realizatsiya qilinadi.

Shuningdek abstrakt klass konstruktor, tanasi bor funksiya, ma’lumotlar va hattoki main() funksiyaga ega bo’lishi mumkin. Quyidagi misolga qarang:

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

Esda tuting: Agar biror klass abstrakt klassdan voris olsa, uning barcha abstrakt funksiyalarini realizatsiya qilishi kerak yoki o’zi ham abstrakt klass bo’lishi kerak.

G'ayratjon Rayimjonov
G'ayratjon Rayimjonov

G'ayratjon Rayimjonovning so'nngi maqolalari (hammasini ko'rish)

(167 marta o'qilgan, bugun 1 marta o'qildi)

O'xshash maqolalar: