Texnoman

Assalomu alaykum! Siz Axborot texnologiyalari sohasining o'zbek tilidagi bloggerlar portaliga tashrif buyurdingiz! Loyihamizning asosiy maqsadi haqida bu yerda o'qishingiz mumkin.

Kirish A'zo bo'lish


Farzandlarimiz bizdan ko'ra kuchli, dono, bilimli va albatta baxtli bo'lishlari shart.

- Islom Karimov


19-dars - Javada abstrakt klass

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) klasslar yaratishda ishlatiladi;
  • Abstrakt klasslardan yaratilayotgan klasslarimizni sxemasini ya'ni skletini yaratishda foydalaniladi;
  • Abstrakt 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:

public abstract class Mashina {
 
    abstract void madeli();
    abstract void mashinaTuri(); 
    abstract void uzunligi(); 
    abstract void rangi(); 
}
 
public class Malibu extends Mashina{
 
    @Override 
    void madeli() { 
        System.out.println("Chevrolet"); 
    }
 
    @Override 
    void mashinaTuri() { 
        System.out.println("Malibu"); 
    }
 
    @Override 
    void uzunligi() { 
        System.out.println("4.7 metr"); 
    }
 
    @Override 
    void rangi() { 
        System.out.println("Qora"); 
    }
 
    public static void main(String[] args) { 
        Mashina mashina = new Malibu(); 
        mashina.madeli(); 
        mashina.mashinaTuri();
        mashina.uzunligi(); 
        mashina.rangi(); 
    } 
}

Natija :

Chevrolet

Malibu

4.7 metr

Qora

Yuqoridagi misolda Malibu klassi abstrakt funksiyalari (modeli, mashinaTuri, uzunligi, rangi) bor bo'lgan Mashina abstarkt klassidan nasl olyapti 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.

Manba:


Gayratjon

Muallif haqida

Rayimjonov G'ayratjon


Qiziq bo‘ladi:


Birinchi bo‘ling!

Iltimos, fikr bildirish uchun saytga kiring yoki ro‘yxatdan o‘ting!