扩展你的类:面向对象编程的核心技巧
1. 类继承:代码复用与扩展
面向对象编程(OOP)的强大之处在于它能够通过继承来复用现有代码,同时允许开发者为新类添加新的功能或修改已有功能。继承是OOP的一个核心概念,它使得一个类可以继承另一个类的属性和方法,从而减少重复代码并提高代码的可维护性。
1.1 基类与派生类
在C++中,用作派生类基础的类被称为基类(Base Class)、父类(Parent Class)或超类(Superclass)。派生类(Derived Class),也称为子类(Subclass),是一个新的类,包含其基类的所有数据成员和成员函数。派生类不仅可以继承基类的功能,还可以添加新的数据成员和成员函数,甚至可以覆盖基类中的函数。
例如,考虑三种几何形状:圆(Circle)、圆柱体(Cylinder)和球体(Sphere)。所有这些形状都共享一个共同的特征——半径。因此,可以将圆作为其他两种形状的基础类型,如图1所示。
classDiagram
class Circle {
+double radius
+void setRadius(double)
+double getRadius()
}
class Cylinder {
+double height
+void setHeight(double)
+double getHeight()
}
class Sphere {
+double diameter