深入理解面向对象编程中的继承与多态
1 派生类及其层次结构
面向对象编程的核心在于通过类和对象来模拟现实世界中的概念及其关系。派生类(derived classes)是这一理念的重要组成部分,它允许我们创建更加具体的类,从而扩展或修改已有类的功能。通过派生类,我们可以在不改变原有代码的基础上,增加新的功能或调整现有行为,这大大提高了代码的复用性和灵活性。
1.1 派生类的基本概念
派生类是通过继承一个或多个基类(base classes)而创建的新类。基类可以看作是派生类的模板,它定义了派生类的基本结构和行为。例如, Employee
类可以作为 Manager
和 Director
类的基类,而这些派生类又可以进一步派生出其他类。
struct Employee {
string first_name, family_name;
char middle_initial;
Date hiring_date;
short department;
};
struct Manager : public Employee {
set<Employee*> group; // people managed
short level;
};
在上面的例子中, Manager
类继承了 Employee
类的所有成员,并添加了自己特有的成员,如 group