Maison > Article > développement back-end > Incarnation des principes de conception orientée objet en C++
C++ incarne les principes de la POO, notamment : Encapsulation : utilisez des classes pour encapsuler des données et des méthodes dans des objets. Héritage : permet aux classes dérivées d'hériter des données et du comportement des classes de base. Polymorphisme : permet de changer le comportement d'un objet en fonction de son type, implémenté via des fonctions virtuelles.
Incarnation des principes de conception orientée objet en C++
La conception orientée objet (POO) est un ensemble de principes visant à réaliser un couplage lâche, une réutilisation de code et une encapsulation de données. C++ est un langage de programmation orienté objet qui adopte plusieurs principes clés de la POO.
Encapsulation
L'encapsulation fait référence à l'encapsulation de données et aux méthodes d'exploitation des données dans des objets. En C++, l'encapsulation peut être réalisée à l'aide de classes. Par exemple :
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; } };
Héritage
L'héritage permet à une classe (classe dérivée) d'hériter des données et du comportement d'une autre classe (classe de base). En C++, utilisez les modificateurs d'accès public
, protected
et private
pour contrôler l'accès aux classes dérivées aux membres de la classe de base. Par exemple : 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
est une classe de base qui définit la fonction virtuelle makeSound()
. Les classes Dog
et Cat
sont des classes dérivées de la classe Animal
qui remplacent la méthode makeSound()
. La fonction principale crée un tableau Animal
contenant des pointeurs vers les objets Dog
et Cat
. Il parcourt ensuite le tableau et appelle la méthode makeSound()
de chaque objet. Cela imprimera des sons différents selon le type d'objet. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!