继承性:派生类
面向对象程序设计有哪些主要特征?
·封装性
·继承性
·多态性
面向对象的继承性
class Ustudent: public Student
{
string major; //专业
public:
Ustudent(int number1, string name1, string major, float score1);
void print();
}; //Ustudent 为大学生类
其中Student 类为基类,也成为父类;派生出来的类Ustudent成为派生类,也称为子类。
引入派生类,改善了可维护性。
类继承的一个经典的例子
class shape{
public:
float area() {return -1;}
};
class circle:public shape{ //从shape类中派生出circle类
float radius;
public:
circle(float r) {radius=r;}
float area() {return 3.14159*radius*radius;}
};
class rectangle:public shape{ //从shape类中派生出rectangle类
float length, width;
public:
rectangle(float l, float w)
{length=l; width=w; }
float area() {return length*width; }
};
只有一个基类的继承称为单继承。单继承简单可靠。
继承的目的
·重复使用财产
·重复利用前人的知识
实现代码重用,软件重用
·继承性使得软件便于重用,扩充。可以在原有的基础上扩充,不修改原有代码。
·继承有利于实现递增式软件开发的有效途径。