Maison > Article > développement back-end > Explication détaillée de l'héritage des fonctions C++ : Comment comprendre la relation « est-un » et « a-un » dans l'héritage ?
Qu'est-ce que l'héritage de fonction ?
L'héritage de fonction est une technique en C++ qui associe des méthodes définies dans une classe dérivée à des méthodes définies dans une classe de base. Il permet aux classes dérivées d'accéder et de remplacer les méthodes de la classe de base, étendant ainsi les fonctionnalités de la classe de base.
Relation "est-un" et "a-un"
Dans l'héritage de fonction, Relation "est-un" signifie que la classe dérivée est un sous-type de la classe de base, c'est-à-dire la classe dérivée " hérite" des caractéristiques et du comportement de la classe de base. La relation "a-a" signifie que la classe dérivée contient une référence ou un pointeur vers l'objet de classe de base, c'est-à-dire que la classe dérivée "possède" l'objet de classe de base.
Syntaxe
Voici la syntaxe permettant d'implémenter l'héritage de fonction :
class DerivedClass : public BaseClass { public: // 派生类中定义的方法(可能会重写基类方法) };
Cas pratique
Comprenons l'héritage de fonction à travers un exemple simple :
Classe de base Shape
class Shape { public: virtual void draw() { // 基类绘图行为 } };
Deriv éd classe Rectangle
La classe dérivée Rectangle "est une" forme, c'est-à-dire que Rectangle est un type de forme. Il hérite de la méthode draw() de Shape et la remplace pour fournir un comportement de dessin spécifique pour les rectangles :
class Rectangle : public Shape { public: virtual void draw() override { // 派生类绘图行为(绘制矩形) } };
Exemple d'utilisation
Maintenant, nous pouvons utiliser la classe Rectangle pour créer des objets et appeler la méthode draw() :
Rectangle rectangle; rectangle.draw(); // 调用派生类中重写的绘图行为
Conclusion
En comprenant les relations « est-un » et « a-un », vous pouvez utiliser efficacement l'héritage de fonctions pour étendre les fonctionnalités des classes C++ et créer un code plus organisé et maintenable.
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!