L'héritage et le polymorphisme réduisent la redondance du code en C++ des manières suivantes : Héritage : les classes dérivées héritent des membres de la classe de base pour éviter de définir à plusieurs reprises du code commun. Polymorphisme : différents objets de classe dérivée répondent à différents comportements avec le même appel de fonction, sans utiliser d'instructions if-else pour vérifier les types.
Comment l'héritage et le polymorphisme en C++ réduisent-ils la redondance du code ?
Introduction
L'héritage et le polymorphisme sont des outils puissants en C++ pour réutiliser le code et réduire la redondance. Grâce à l'héritage, une classe dérivée peut hériter des données membres et des méthodes d'une classe de base. Le polymorphisme permet aux objets d'une classe dérivée de répondre au même appel de fonction de différentes manières.
Cas pratique : bibliothèque graphique
Considérons une bibliothèque graphique simple qui contient une hiérarchie de classes pour dessiner différentes formes.
class Shape { public: virtual void draw() = 0; // 纯虚函数 }; class Circle : public Shape { public: void draw() override { // 绘制圆形 } }; class Rectangle : public Shape { public: void draw() override { // 绘制矩形 } }; class Triangle : public Shape { public: void draw() override { // 绘制三角形 } };
Héritage
En utilisant l'héritage, nous évitons de répéter la méthode draw
pour chaque forme. Au lieu de cela, une classe dérivée remplace simplement la méthode draw
et fournit sa propre implémentation pour dessiner la forme. draw
方法。相反,派生类只需覆盖 draw
方法并提供其自身形状的绘制实现即可。
多态性
多态性允许我们以多态的方式使用 Shape
对象。这意味着我们可以创建一个包含不同形状对象的数组,并只需调用 draw
方法就可以绘制它们。C++ 会自动调用派生类的正确 draw
方法。
Shape* shapes[] = {new Circle(), new Rectangle(), new Triangle()}; for (Shape* shape : shapes) { shape->draw(); // 调用正确派生类的 draw 方法 }
减少冗余
通过使用继承和多态性,我们显着减少了代码冗余。
draw
方法。if-else
Le polymorphisme nous permet d'utiliser des objets Shape
de manière polymorphe. Cela signifie que nous pouvons créer un tableau contenant des objets de formes différentes et les dessiner simplement en appelant la méthode draw
. C++ appellera automatiquement la méthode draw
correcte de la classe dérivée.
draw
pour chaque forme. if-else
pour déterminer le type de forme.
Réutilisation du code :
Réutilisez les comportements courants grâce à l'héritage. 🎜🎜🎜Maintenabilité : 🎜Pas besoin de modifier le code existant lors de l'ajout de nouvelles formes. 🎜🎜🎜Extensibilité : 🎜Ajoutez facilement de nouvelles fonctionnalités ou comportements. 🎜🎜🎜🎜Conclusion🎜🎜🎜L'héritage et le polymorphisme en C++ sont des outils puissants pour réduire la redondance du code et créer des bases de code flexibles et extensibles. 🎜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!