博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面向对象的一些性质
阅读量:5268 次
发布时间:2019-06-14

本文共 780 字,大约阅读时间需要 2 分钟。

1.公有继承public 要保持IS --A的关系

也就是说,派生类继承基类,每一个基类对象同时也是一个派生类对象,但是每一个派生类对象不一定是基类对象。

大包含小的意思,基类的范围要比派生类的小

2.避免遮掩继承而来的名称。

如果基类中用到派生类的函数,我们希望在派生类中他是可见的,因此可以在派生类中写上 using BASE::FUN;

公有继承的时候派生类的名称会掩盖基类的名称,我们可以用using 进行声明他是基类的函数。

3.区分接口继承和实现继承

继承接口,接口中声明纯虚函数,这样这个函数就不能实例化,必须别其派生类实现具体细节。声明纯虚函数的类叫做抽象类。

纯虚函数只能指定接口继承。

公有继承下,派生类总是继承人基类的接口、

简谱的非纯虚函数继承,指定的是接口继承以及缺省实现继承。

非虚函数继承指定的接口继承以及强制性实现继承。

虚函数外覆器:定义一个公有的非虚函数来调用类中的私有虚函数。

4.绝壁不要重新定义继承而来的非虚函数。

虚函数是动态绑定的,因此当基类和派生类都调用某个继承自基类的虚函数的时候基类指针和派生类指针调用该函数都是调用的派生类的那个函数。

但是如果你调用的函数本身在基类里的时候就是非虚函数,那么调用的函数就不一样了。

适用于基类的每一个对象也同样适用于派生类,总之任何情况下都不应该重新定义继承而来的非虚函数。

5.不要重新定义继承而来而缺省参数值,因额为缺省参数值都是静态绑定的,,而虚函数,是动态绑定,因此是可以覆盖的。

6.私有继承一般是你希望你的派生类直接用基类已经准备妥当的某些特性。

7,明智的使用多继承

主要考虑到产生歧义以及对虚继承的需要,虚继承会导致增加大小,速度,初始化扥等复杂度的开销,

 

转载于:https://www.cnblogs.com/8335IT/p/6770300.html

你可能感兴趣的文章
File Zilla搭建FTP服务器时出现的报错
查看>>
03 持续集成和部署/基础设施 - DevOps之路
查看>>
《剑指offer(第二版)》面试题64——求1+2+...+n
查看>>
前端早读课:JavaScript函数的6个基本术语
查看>>
吃糖果
查看>>
PopupWindow-----点击弹出 PopupWindow 初始化菜单
查看>>
介绍MFSideMenu左右滑动控件的使用
查看>>
【转】[Asp.net]常见数据导入Excel,Excel数据导入数据库解决方案,总有一款适合你!...
查看>>
减小安装包之图片处理
查看>>
LeetCode-42 Trapping Rain Water
查看>>
20131008
查看>>
安装weblogic的步骤10.3.0.0
查看>>
给我自己的时间加个小安排
查看>>
田小计划:图解Python深拷贝和浅拷贝
查看>>
echarts 圆形图、柱状图
查看>>
Ltib 应用初步
查看>>
使用java实现的socket代理(支持socket4和socket5)
查看>>
React-ui: 基于react的js控件库
查看>>
Locale ID (LCID) Chart 区域设置ID
查看>>
Swift 了解
查看>>