本笔记主要来源于教程https://www.bilibili.com/video/av41559729?p=1
4.6 继承
继承是面向对象三大特性之一
有些类与类之间存在特殊的关系,例如下图中:
我们发现,定义这些类时,下级别的成员除了拥有上一级的共性,还有自己的特性。
这个时候我们就可以考虑利用继承的技术,减少重复代码。
4.6.1 继承的基本语法
例如我们看到很多网站中,都有公共的头部,公共的底部,甚至公共的左侧列表,只有中心内容不同
接下来我们分别利用普通写法和继承的写法来实现网页中的内容,看一下继承存在的意义以及好处。
普通实现:
//普通实现页面
//JAVA页面
class Java
{
public:
void header()
{
cout << "首页、公开课、登陆、注册....(公共头部)" << endl;
}
void footer()
{
cout << "帮助中心、交流合作、站内地图...(公共底部)" << endl;
}
void left()
{
cout << "Java、Python、C++...(公共分类列表)" << endl;
}
void conter()
{
cout << "Java学科视频" << endl;
}
};
//Pyyhon页面
class Python
{
public:
void header()
{
cout << "首页、公开课、登陆、注册....(公共头部)" << endl;
}
void footer()
{
cout << "帮助中心、交流合作、站内地图...(公共底部)" << endl;
}
void left()
{
cout << "Java、Python、C++...(公共分类列表)" << endl;
}
void conter()
{
cout << "Python学科视频" << endl;
}
};
//C++页面
class CPP
{
public:
void header()
{
cout << "首页、公开课、登陆、注册....(公共头部)" << endl;
}
void footer()
{
cout << "帮助中心、交流合作、站内地图...(公共底部)" << endl;
}
void left()
{
cout << "Java、Python、C++...(公共分类列表)" << endl;
}
void conter()
{
cout << "C++学科视频" << endl;
}
};
void test01()
{
cout << "Java下载视频页面如下: " << endl;
Java ja;
ja.header();
ja.footer();
ja.left();
ja.conter();
cout << "--------------------------" << endl;
cout << "Ptyhon下载视频页面如下: " << endl;
Python py;
py.header();
py.footer();
py.left();
py.conter();
cout << "--------------------------" << endl;
cout << "C++下载视频页面如下: " << endl;
CPP cpp;
cpp.header();
cpp.footer();
cpp.left();
cpp.conter();
}
int main()
{
test01();
system("pause");
return 0;
}