• String
  • Misol class
  • Ishchi vaqtdagi polimorfizm (Runtime polimorfizm)




    Download 23.85 Kb.
    bet2/3
    Sana25.01.2024
    Hajmi23.85 Kb.
    #145302
    1   2   3
    Bog'liq
    14-mavzu
    НА СЕБЯ, Лж-81 гуруҳ оралик мавзулари, 14-mavzu
    Ishchi vaqtdagi polimorfizm (Runtime polimorfizm)
    Dastlab casting, up-casting va down-casting tushunchalari bilan tanishib olaylik (Aslida, ishchi vaqtdagi polimorfizmni tushunish uchun faqat up-casting ni o’zini bilish yetadi, ammo buni to’liqroq yoritamiz). Obyektni bir turdan boshqa turga o’tkazishga (casting) deyiladi. Agar ota klassning obyekti bola klassga o’tkazilsa bu down-casting deyiladi, masalan:
    Object satrObject=“Bu shunchaki satr”;//Object–ota class
    String satrString=(String)ObyektSatr;//String–Object klassning bola klassi
    Yuqoridagi misolda Object turidagi o’zgravchi (satrObject) String turiga o’zgartirilyapti. Bilamizki, Obyekt klass barcha classlarning otasi hisoblanadi.Agar bola klassning obyekti ota klass turiga o’tkazilsa bu up-casting deyiladi, masalan:
    String satrString=“Bu shunchaki satr”;
    Object satrObject=(Object)satrString;
    Agar ota klassning o’zgaruvchisi bola klass obyektini ko’rsatsa (xotiradagi adresini ko’rsatsa) ham up-casting deyiladi.
    Misol
    class A{}
    class B extends A{}
    A a = new B();//upcasting
    Yuqoridagi misolda A class toifasidagi a o’zgaruvchi (reference variable) B bola klassning obyektini ko’rsatadi (hotiradagi adresini ko’rsatadi). Runtime polimorfizmda bola klassdagi override qilingan metod, ota klass toifasidagi o’zgaruvchi orqali chaqiriladi. Quyidagi misolga qaraymiz:
    Misol
    class Chevrolet{
    void run(){System.out.println("running");}
    }
    class Malibu extends Chevrolet{
    void run(){System.out.println("Chevrolet Malibu");}
    public static void main(String args[]){
    Chevrolet ch=new Malibu();//upcasting
    ch.run();
    }}
    Natija
    Chevrolet Malibu
    Yuqoridagi misolda biz ikkita klass yaratyapmiz. Malibu klass Chevrolet klass dan nasl olayapti va run() funksiyani qayta yozayapti (override). Qayta yozilgan run funksiya ota klass turidagi o’zgaruvchi ch orqali chaqirilayapti. ch o’zgaruvchi Malibu turidagi obyektni ko’rsatayotgani uchun Malibu klassda qayta yozilgan funksiya chaqiriladi.

    Download 23.85 Kb.
    1   2   3




    Download 23.85 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Ishchi vaqtdagi polimorfizm (Runtime polimorfizm)

    Download 23.85 Kb.