• Abstract class Name_of_class{
  • Esda tuting
  • 14-mavzu. Java dasturlash tilida Polimorfizm. Reja: Kompilyatsiya vaqtidagi polimorfizm




    Download 23,85 Kb.
    bet3/3
    Sana25.01.2024
    Hajmi23,85 Kb.
    #145302
    1   2   3
    Bog'liq
    14-mavzu

    Javada abstrakt klass-Mavhumlik (Abstraction)
    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 Name_of_class{
    //klass tanasi (class body)
    }

    • Abstrakt klasslar odatda super (ota) klasslar yaratishda ishlatiladi.

    • Abstrakt klasslardan yaratilayotgan klasslarimizning sxemasni, ya’ni skletini yaratishda foydlaniladi.

    • 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, masalan:
    abstract void funksiya();
    Endi abstrakt funksiyasi bor bo’lgan abstrakt klassga misol keltiramiz.
    Misol
    Bitta paketning ichida ikkita klass yaratamiz. Biri Mashina nomli abstract klass ikkinchisi shu klassdan nasl oluvchi Malibu nomli klass.
    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) {
    Malibu mashina=new Malibu();
    mashina.madeli();
    mashina.mashinaTuri();
    mashina.uzunligi();
    mashina.rangi();}}
    Natija
    Chevrolet
    Malibu
    4.7 metr
    Qora
    Yuqoridagi misolda Malibu klassining abstrakt funksiyalari (modeli, mashinaTuri, uzunligi, rangi) bor bo’lgan Mashina nomli 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.
    Esda tuting: Agar klass tarkibida bitta bo’lsa ham abstarkt funksiya mavjud bo’lsa, klass ham abstrakt 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.
    Download 23,85 Kb.
    1   2   3




    Download 23,85 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    14-mavzu. Java dasturlash tilida Polimorfizm. Reja: Kompilyatsiya vaqtidagi polimorfizm

    Download 23,85 Kb.