• Kompilyatsiya vaqtidagi polimorfizm Agar funksiya qayta yuklansa ( overload
  • Misol class
  • 14-mavzu. Java dasturlash tilida Polimorfizm. Reja: Kompilyatsiya vaqtidagi polimorfizm




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


    14-mavzu. Java dasturlash tilida Polimorfizm.
    Reja:

    1. Kompilyatsiya vaqtidagi polimorfizm

    2. Ishchi vaqtdagi polimorfizm (Runtime polimorfizm)

    Polimorfizm turli xil obyektlar bilan bir xil uniformada ishlash imkoniyatini beradi. Masalan, turli xil oynalar mavjud: deraza oynasi, eshik oynasi, mashina oynasi, telefon oynasi. Bularning barchasi bir biridan ishlatilish sohasi, tuzulishi, shakli bilan farq qiladi. Lekin barchasini umumiy qilib oyna deb qarash mumkin. Polimorfizm orqali bir jarayonni turli yo’llar bilan tashkillashtirishimiz mumkin. Polimorfizm so’zi yunoncha ikki so’zning birikmasidan tashkil topgan “poly”-ko’p va “morphs”-formalar. Polimorfizm ham ko’p formalar degan ma’noni anglatadi. Javada polimorfizmning ikki turi mavjud: programma kompilyatsiya bo’layotgan vaqtda sodir bo’ladigan polimorfizm (compile time polymorphism, static polymorphism) va programma ishlab turgan vaqtda sodir bo’ladigan polimorfizm (runtime polymorphism, dynamic polymorphism). Javada polimorfizm funksiyalarni qayta yuklash (overload) va qayta yozish (override) bilan amalga oshiriladi.


    Kompilyatsiya vaqtidagi polimorfizm
    Agar funksiya qayta yuklansa (overload) bu-(compile time polimorfizmga) kompilyatsiya vaqtidagi polimorfizmga misol bo’ladi. Funksiyalarni qayta yuklash haqida oldingi bo’limlarda to’xtalib o’tganmiz.
    Quyidagi misolni qaraymiz:
    Misol
    class PolyTest{
    void metodA(int num){
    System.out.println ("metodA:" + num);}
    void metodA(int num1, int num2){
    System.out.println ("metodA:" + num1 + "," + num2);}
    double metodA(double num){
    System.out.println("metodA:" + num);
    return num;
    }}
    class Test{
    public static void main (String args []){
    PolyTest Obj=new PolyTest();
    double natija;
    Obj.metodA(20);
    Obj.metodA(20, 30);
    natija=Obj.metodA(5.5);
    System.out.println("Javob:" + natija);
    }}
    Natija
    metodA:20
    metodA:20,30
    metodA:5.5
    Javob:5.5
    Yuqoridagi misolda, PolyTest klassning 3 ta funksiyasi bor. Uchala funksiyalarning ham nomlari bir xil—metodA, ammo funksiyalarning argumentlarida farqlar mavjud. Kompilyatsiya vaqtida kompilyator funksiyaga yuborilayotgan argumentlarning soni va ma’lumot turiga qarab kerakli funksiyani tanlab oladi. Qaysi funksiyalarni chaqirish kompilatsiya vaqtida aniqlanishi tufayli ham bu polimorfizm turi kompilyatsiya vaqtidagi polimorfizm deb nomlanadi. Kompilyatsiya vaqtidagi polimorfizm yana (Static binding) statik bog’lash, (Early binding) erta bog’lash deb ham ataladi.

    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.