Rumah >pembangunan bahagian belakang >C++ >Penjelmaan prinsip reka bentuk berorientasikan objek dalam C++
C++ merangkumi prinsip OOP, termasuk: Enkapsulasi: Gunakan kelas untuk merangkum data dan kaedah dalam objek. Warisan: Membenarkan kelas terbitan mewarisi data dan tingkah laku daripada kelas asas. Polimorfisme: membenarkan tingkah laku objek berubah bergantung pada jenisnya, dilaksanakan melalui fungsi maya.
Penjelmaan prinsip reka bentuk berorientasikan objek dalam C++
Reka bentuk berorientasikan objek (OOP) ialah satu set prinsip yang bertujuan untuk mencapai gandingan longgar, penggunaan semula kod dan enkapsulasi data. C++ ialah bahasa pengaturcaraan berorientasikan objek yang menggunakan beberapa prinsip OOP utama.
Encapsulation
Encapsulation merujuk kepada merangkum data dan kaedah pengendalian data dalam objek. Dalam C++, enkapsulasi boleh dicapai menggunakan kelas. Contohnya:
class Person { private: string name; int age; public: Person(string name, int age) : name(name), age(age) {} string getName() { return name; } int getAge() { return age; } };
Warisan
Warisan membenarkan satu kelas (kelas terbitan) mewarisi data dan gelagat daripada kelas lain (kelas asas). Dalam C++, gunakan pengubah suai akses awam
, protected
dan private
untuk mengawal akses kelas yang diperoleh kepada ahli kelas asas. Contohnya: public
、protected
和 private
访问修饰符来控制派生类对基类成员的访问权限。例如:
class Student : public Person { private: string major; public: Student(string name, int age, string major) : Person(name, age), major(major) {} string getMajor() { return major; } };
多态
多态是指对象的行为可以根据其类型而改变。在 C++ 中,可以使用虚函数来实现多态。例如:
class Animal { public: virtual string makeSound() { return "Unknown"; } }; class Dog : public Animal { public: virtual string makeSound() { return "Woof"; } }; class Cat : public Animal { public: virtual string makeSound() { return "Meow"; } }; // 实战案例 int main() { Animal* animals[] = { new Dog(), new Cat() }; for (Animal* animal : animals) { cout << animal->makeSound() << endl; } return 0; }
在这个例子中,Animal
类是一个基类,它定义了 makeSound()
虚函数。Dog
和 Cat
类是从 Animal
类派生的派生类,它们重写了 makeSound()
方法。主函数创建了一个 Animal
数组,其中包含 Dog
和 Cat
对象的指针。然后,它遍历数组并调用每个对象的 makeSound()
rrreee
Animal
ialah kelas asas yang mentakrifkan fungsi maya makeSound()
. Kelas Anjing
dan Cat
ialah kelas terbitan yang diperoleh daripada kelas Animal
yang mengatasi kaedah makeSound()
. Fungsi utama mencipta tatasusunan Haiwan
yang mengandungi penunjuk kepada objek Anjing
dan Cat
. Ia kemudian melelar melalui tatasusunan dan memanggil kaedah makeSound()
setiap objek. Ini akan mencetak bunyi yang berbeza bergantung pada jenis objek. 🎜Atas ialah kandungan terperinci Penjelmaan prinsip reka bentuk berorientasikan objek dalam C++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!