🌈 个人主页:白子寰
🔥 分类专栏:重生之我在学Linux,C++打怪之路,python从入门到精通,数据结构,C语言,C语言题集👈 希望得到您的订阅和支持~
💡 坚持创作博文(平均质量分82+),分享更多关于深度学习、C/C++,python领域的优质内容!(希望得到您的关注~)
目录
继承本质意义是复用
继承的概念及定义
概念
什么是继承?
继承是面向对象程序设计中实现代码复用的关键机制,它允许程序员在保留基类特性的同时,创建具有额外功能的新类,即派生类。
这种机制展现了对象层次结构,并映射了从简单到复杂的认知发展过程。与传统的函数复用不同,继承实现了类级别的复用。
(简单来说就是儿子继承父业:儿子在父业的基础上开拓新的东西或装饰)
继承定义
格式
继承基类成员访问方式的变化
表格法(谁小谁做主)
总结
1)谁的权限小(派生类)听谁的
照public列来说:
①对应行基类的public成员:public小,听public的,派生类是public
②对应行基类的protected成员:protected小,听protected的,派生类是protected
③对应行基类的private成员:private小,听private的,派生类不可见
2)
①被其所属类的成员函数访问
②被类的对象直接访问
③被派生类的(成员/函数)访问在私有限定符下:①
保护限定符下:①③
3)
struct默认继承方式是public
class默认继承方式是private
4)实际中一般用public继承
代码
这是在父类的成员函数、成员变量全处于public(公有)下
如果成员变量不是处于public下呢,我们该怎么修改对象的其中一个成员变量?
答案是在公有public设置成员函数
基类和派生类对象赋值(兼容)转换
简称:切割/切片
概念
区别于:类型转换,中间会产生临时变量(隐式变量是常量加const)
(C语言的截断和提升:int型->(赋值)char, 然后char->int)
简单来说:
派生类到基类的赋值兼容性允许派生类对象被赋值给基类对象,而无需显式类型转换。这种赋值过程不涉及临时变量。
与类型转换不同,派生类到基类的赋值是一种切片操作,仅保留基类部分。