|
Ob’ektga yo‘naltirilgan dasturlash(merosxorlik, inkapsilyapsiya)
|
bet | 2/2 | Sana | 14.12.2023 | Hajmi | 0,57 Mb. | | #118625 |
Bog'liq D.P.U.4-topshiriq .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;
}
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;
}
|
| |