1.在c++中什么是继承
继承是面向对象编程中的一个基本概念,它允许一个类(称为子类或派生类)从另一个类(称为父类或基类)继承属性和方法。子类可以继承父类的非私有成员,并且可以添加自己的新成员或覆盖父类的成员。
2.继承有什么好处
-
代码重用:继承允许子类直接使用父类的属性和方法,避免了代码重复编写。这提高了代码的可维护性和可复用性。
-
层次化组织:通过继承,可以将对象按照层次化的方式组织起来。子类可以继承父类的特征,从而形成类的层次结构。这使得代码更加清晰和易于理解。
-
扩展和修改:通过继承,可以对现有的类进行扩展和修改,而无需修改原始类的代码。子类可以添加新的功能或修改父类的行为,从而满足特定的需求。
-
多态性:继承的概念是实现多态性的基础。多态性是指同一个方法名可以在不同的类中具有不同的实现,通过继承,可以使用统一的接口来处理不同类型的对象。
3.如何使用继承
结合代码进行理解
cpp
#include <iostream>
using namespace std;
//普通实现页面
//class Java {
//public:
// void header() {
// cout << "首页、公开课、登录、注册...(公开头部)" << endl;
// }
// void footer() {
// cout <<"帮助中心、交流合作、站内地图...(公共底部)"<<endl;
// }
// void left() {
// cout<<"Java、paython、c++...(公共分类列表)"<<endl;
// }
// void conrent() {
// cout<<"Java学科视频"<<endl;
// }
//
//
//};
//
python页面
//class Python {
//public:
// void header() {
// cout << "首页、公开课、登录、注册...(公开头部)" << endl;
// }
// void footer() {
// cout << "帮助中心、交流合作、站内地图...(公共底部)" << endl;
// }
// void left() {
// cout << "Java、paython、c++...(公共分类列表)" << endl;
// }
// void conrent() {
// cout << "Python学科视频" << endl;
// }
//
//
//};
//
c++页面
//class cpp {
//public:
// void header() {
// cout << "首页、公开课、登录、注册...(公开头部)" << endl;
// }
// void footer() {
// cout << "帮助中心、交流合作、站内地图...(公共底部)" << endl;
// }
// void left() {
// cout << "Java、paython、c++...(公共分类列表)" << endl;
// }
// void conrent() {
// cout << "c++学科视频" << endl;
// }
//
//
//};
//继承实现页面
//公共页面类
class BasePage {
public:
void header() {
cout << "首页、公开课、登录、注册...(公开头部)" << endl;
}
void footer() {
cout << "帮助中心、交流合作、站内地图...(公共底部)" << endl;
}
void left() {
cout << "Java、paython、c++...(公共分类列表)" << endl;
}
};
//继承的好处:可以减少重复代码
//语法:class 子类名 :public(继承方式) 父类名{ };
//子类 也称为派生类
//父类 也称为基类
//Java页面
class Java :public BasePage {
public:
void conrent() {
cout << "Java学科视频" << endl;
}
};
//Python页面
class Python :public BasePage {
public:
void conrent() {
cout << "Python学科视频" << endl;
}
};
//c++页面
class cpp :public BasePage {
public:
void conrent() {
cout << "c++学科视频" << endl;
}
};
void test01() {
cout<<"Java下载视频页面如下:"<<endl;
Java java;
java.header();
java.footer();
java.left();
java.conrent();
cout<<"----------------------------------------------------"<<endl;
cout << "paython下载视频页面如下:" << endl;
Python python;
python.header();
python.footer();
python.left();
python.conrent();
cout << "----------------------------------------------------" << endl;
cout << "c++下载视频页面如下:" << endl;
cpp cpp;
cpp.header();
cpp.footer();
cpp.left();
cpp.conrent();
}
int main() {
test01();
return 0;
}