的继承和构造方法,自己来举一个例子
时间: 2024-10-13 15:04:22 浏览: 20
继承是面向对象编程中的一种重要特性,它允许一个类(称为派生类)继承另一个类(称为基类)的属性和方法。派生类可以使用基类的公有属性和方法,也可以根据需要添加自己的属性和方法。构造方法是在创建一个对象时调用的特殊方法,它用于初始化对象的状态。在继承中,派生类可以通过调用基类的构造方法来初始化继承自基类的属性。
举一个例子,假设我们要设计一个图形类,它有一个面积属性和一个计算面积的方法。我们可以定义一个基类Shape来实现这个功能,然后定义一个派生类Circle来表示圆形。Circle继承了Shape的面积属性和计算面积的方法,并添加了自己的半径属性和计算半径的方法。
下面是示例代码:
```
class Shape {
public:
double area;
Shape() {
area = 0;
}
virtual void calcArea() {
// 计算面积
}
};
class Circle : public Shape {
public:
double radius;
Circle(double r) {
radius = r;
calcArea(); // 初始化面积
}
void calcArea() {
area = 3.14 * radius * radius;
}
};
```
在这个例子中,Shape是基类,Circle是派生类。Circle继承了Shape的area属性和calcArea方法,并添加了自己的radius属性和calcArea方法。在Circle的构造方法中,它首先调用了基类Shape的构造方法来初始化继承自Shape的area属性,然后再根据自己的radius属性计算面积。这样,我们就可以使用Circle对象的area属性和calcArea方法来计算圆形的面积了。
阅读全文