• Ob’ektga yo‘naltirilgan dasturlash(polimorfizm va uning turlari
  • Ob’ektga yo‘naltirilgan dasturlash(merosxorlik, inkapsilyapsiya)




    Download 0,57 Mb.
    bet2/2
    Sana14.12.2023
    Hajmi0,57 Mb.
    #118625
    1   2
    Bog'liq
    D.P.U.4-topshiriq .
    1701802394jamilov, Individual loyiha 2, D.U.P.3-topshiriq, Mustaqil ish, 1701192845, 1-amaliy ish figma uchun Jamilov
    Ob’ektga yo‘naltirilgan dasturlash(merosxorlik, inkapsilyapsiya)

    #include
    #include

    class Person {


    private:
    std::string name;
    int age;

    public:
    Person(const std::string& n, int a) : name(n), age(a) {}


    std::string getName() const {


    return name;
    }

    int getAge() const {


    return age;
    }

    void displayInfo() const {


    std::cout << "Ismi : " << name << ", Yoshi : " << age << " Yoshda ." << std::endl;
    }
    };

    class Student : public Person {


    private:
    std::string studentID;

    public:
    Student(const std::string& n, int a, const std::string& id) : Person(n, a), studentID(id) {}


    std::string getStudentID() const {


    return studentID;
    }

    void displayInfo() const {


    std::cout << "Talaba ID si: " << studentID << ", ";
    Person::displayInfo();
    }
    };

    int main() {


    Person person("Jamilov Quvonchbek", 21);
    Student student("Jamilov Quvonchbek", 21, "506789560030");

    person.displayInfo();


    std::cout << std::endl;
    student.displayInfo();

    return 0;


    }





    1. Ob’ektga yo‘naltirilgan dasturlash(polimorfizm va uning turlari


    Polimorfizm - ob'ektga yo'naltirilgan dasturlashning (OOP) asosiy tushunchasi bo'lib, u har xil turdagi ob'ektlarni umumiy turdagi ob'ektlar sifatida ko'rib chiqishga imkon beradi. Bu kodga ob'ektlar bilan yuqori darajadagi abstraksiyada ishlash imkonini beradi, moslashuvchanlik va kengayishni ta'minlaydi. Polimorfizmning ikkita asosiy turi mavjud: kompilyatsiya vaqti (yoki statik) polimorfizmi va ish vaqti (yoki dinamik) polimorfizmi.

    Kompilyatsiya vaqti polimorfizmi (statik polimorfizm):


    Bundan tashqari, erta bog'lash yoki usulni ortiqcha yuklash sifatida ham tanilgan.
    Kompilyatsiya vaqtida sodir bo'ladi.
    Xuddi shu nomga ega, lekin turli xil parametr turlari yoki boshqa parametrlar soni bilan bir nechta usullarni o'z ichiga oladi.
    Kompilyator kompilyatsiya vaqtida metod imzosi asosida qaysi usulni chaqirish kerakligini aniqlaydi.
    Misol:
    #include

    class MathOperations {


    public:
    int add(int a, int b) {
    return a + b;
    }

    double add(double a, double b) {


    return a + b;
    }
    };

    int main() {


    MathOperations math;
    std::cout << math.add(2, 3) << std::endl; // int versiyasini chaqiradi
    std::cout << math.add(2.5, 3.5) << std::endl; // Ikkilamchi versiyani chaqiradi

    return 0;


    }



    Download 0,57 Mb.
    1   2




    Download 0,57 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Ob’ektga yo‘naltirilgan dasturlash(merosxorlik, inkapsilyapsiya)

    Download 0,57 Mb.