123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191 |
- //4.6 继承
- //继承是面向对象三大特征之一
- //有些类与类之间存在特殊的关系,例如:
- //🐱 🐕 都是 动物
- //我们发现 定义这些类时 下级别的成员除了拥有上一级的共性 还有自己的特性
- //这个时候我们就可以考虑利用继承的技术 减少重复代码
- //4.6.1 继承的基本语法
- //例如我们看到很多网站中,都有公共的头部,公共的底部,甚至公共的左侧列表 只有中心内容不同
- //接下来我们分别利用普通写法和继承写法来实现网页中的内容,看一下继承存在的意义和好处
- #include <iostream>
- //普通实现
- //Java页面
- //class Java
- //{
- //public:
- // void header()
- // {
- // std::cout << "首页、公开课、登录、注册...(公共头部)" << std::endl;
- // }
- // void footer()
- // {
- // std::cout << "帮助中心、交流合作、站内地图...(公共底部)" << std::endl;
- // }
- // void left()
- // {
- // std::cout << "Java、Python、C++、...(公共分类列表)" << std::endl;
- // }
- // void content()
- // {
- // std::cout << "Java学习视频" << std::endl;
- // }
- //};
- //Python页面
- //class Python
- //{
- //public:
- // void header()
- // {
- // std::cout << "首页、公开课、登录、注册...(公共头部)" << std::endl;
- // }
- // void footer()
- // {
- // std::cout << "帮助中心、交流合作、站内地图...(公共底部)" << std::endl;
- // }
- // void left()
- // {
- // std::cout << "Java、Python、C++、...(公共分类列表)" << std::endl;
- // }
- // void content()
- // {
- // std::cout << "Python学习视频" << std::endl;
- // }
- //};
- //C++页面
- //class Cpp
- //{
- //public:
- // void header()
- // {
- // std::cout << "首页、公开课、登录、注册...(公共头部)" << std::endl;
- // }
- // void footer()
- // {
- // std::cout << "帮助中心、交流合作、站内地图...(公共底部)" << std::endl;
- // }
- // void left()
- // {
- // std::cout << "Java、Python、C++、...(公共分类列表)" << std::endl;
- // }
- // void content()
- // {
- // std::cout << "C++学习视频" << std::endl;
- // }
- //};
- //继承实现
- class BasePage
- {
- public:
- void header()
- {
- std::cout << "首页、公开课、登录、注册...(公共头部)" << std::endl;
- }
- void footer()
- {
- std::cout << "帮助中心、交流合作、站内地图...(公共底部)" << std::endl;
- }
- void left()
- {
- std::cout << "Java、Python、C++、...(公共分类列表)" << std::endl;
- }
- };
- //继承的好处:减少重复代码
- //语法:
- //class 子类 : 继承方式
- //{
- // 父类
- //};
- //子类也 称为 派生类
- //父类也 称为 基 类
- //Java页面
- class Java :public BasePage
- {
- public:
- void content()
- {
- std::cout << "Java学习视频" << std::endl;
- }
- };
- //Python页面
- class Python :public BasePage
- {
- public:
- void content()
- {
- std::cout << "Python学习视频" << std::endl;
- }
- };
- //C++页面
- class Cpp :public BasePage
- {
- public:
- void content()
- {
- std::cout << "C++学习视频" << std::endl;
- }
- };
- void test01()
- {
- std::cout << "Java下载视频页面如下:" << std::endl;
- Java ja;
- ja.header();
- ja.footer();
- ja.left();
- ja.content();
- std::cout << "--------------------------------" << std::endl;
-
- std::cout << "Python下载视频页面如下:" << std::endl;
- Python py;
- py.header();
- py.footer();
- py.left();
- py.content();
- std::cout << "--------------------------------" << std::endl;
- std::cout << "C++下载视频页面如下:" << std::endl;
- Cpp cpp;
- cpp.header();
- cpp.footer();
- cpp.left();
- cpp.content();
- }
- int main()
- {
- test01();
- system("pause");
- return 0;
- }
|