首页

文章

C++与Java对继承和多态的不同实现方式的比较

发布网友 发布时间:2022-03-22 19:10

我来回答

1个回答

热心网友 时间:2022-03-22 20:39

C++的继承和多态的区别
继承:是指子类按照一定方式继承基类的成员及函数。
如果此时定义一个基类的指针,并把子类的对象传给这个基类指针.假如子类和基类都有一个相同函数。那么这个指针调用这个函数则到底调用的是基类的函数还是子类的函数呢?答案是:基类的函数。因为函数的调用取决于基类的指针类型,而不是取决于指针指向的对象类型。
如下:
Class shape
{
shape();
~shape();
display(); //画一个多边形
}
Class CRect:public shape
{
CRect();
~CRect();
display(); //画一个矩形
}
shape* pshape;
CRect rct;
pshape=&rct; //指向子类对象,最好不要用一个子类指针指向一个基类对象,因为这样危险性大.
pshape->display(); //它调用的仍然是基类的shape的display函数即画一个多边形以上的这种特性就是函数的一般性,即指针调用的函数取决于指针类型,而不取决于指向的对象类型。假如这个基类派生了很多子类,且每个子类都定义了个函数对基类的函数进行覆盖,此时多个基类指针指向不同子类对象,调用子类的覆盖函数,则这些指针的行为都是一样的,即都是调用基类的函数而不是子类相对应的函数。
从上可以看出,这种特性并不具有多态性,因为它不会自动随着指向的对象而调用对象的函数。那么如何能实现这种特性呢?这时就需要一种技术,即虚函数。虚函数是实现多态性的方法。
虚函数就是在函数的前面加上一个Virtual即可。
虚函数中有一种比较特别:纯虚函数。
它的目的:纯虚函数不能定义函数的实际动作,它的存在只是为了在衍生类别中对它能够进行重新定义,实现实态特性.
它的定义方式: virtual 函数类型 函数名(参数)= 0; //一定要“= 0”
它的约束:如果一个类中有纯虚函数,则这个类叫做抽象类,它是不能定义对象的。
kmose正确使用方法? 单位高温防护欠缺致员工中暑如何对待 狗狗为什么爱看视频 360浏览器怎么设置倍速播放 ...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 家里面楼梯是水泥的不想铺地毯或者地砖还能铺什么 楼梯的水泥台阶上可以铺地板革吗 手机腾讯会议共享屏幕播放视频没声 腾讯会议共享屏幕没声音怎么办 微信寄快递怎么取消订单_取消订单方法介绍 300兆宽带用什么路由器好? 请问高分子井盖具体材料有那些?谢谢 井盖骨架有哪些材料 ...一个女主是空姐,她和男主第一次在去巴黎飞机上相遇,约定如果三次... 找一部电影 记得结局是主角上了私人飞机,然后和空姐,可能是情人... 360借条怎么开通? 脚踝系红绳是什么意思 痤疮 痘痘 黑头 粉刺必看的终结绿色治疗 女性脸上有痤疮不能吃皮蛋吗 前事不忘,__ 只可意会,___ 皮之不存,__ __,不为瓦全,__ __,不见泰山... 薪酬:以薪酬战略撬动企业变革内容简介 领先型薪酬策略在实践中的应用 领先型薪酬策略什么是领先型薪酬策略 什么是领先型薪酬策略 第三方支付都有什么 银行用车抵押贷款 雌雄眼的女人不能惹雌雄眼的女人旺夫吗 修缮,与修理的区别 小弟想买一款索尼的笔记本。麻烦各位推荐一下。颜色必须是黑色的,键盘... SONY的笔记本电脑硬盘大概多钱一个 先说谢谢了 sony的笔记本ea38ec 到底用的是什么牌子的内存 尔必达?威刚... 在Sony Style上面买机子,除了鼠标,包,其他东西都全么? 有谁知道SONY的最新最小VGN-UX的笔记本好无好用?介绍下基本功能~!_百度... 怎样让孩子主动找老师补课? 表格列求和公式怎么设置 求和函数公式怎么输入 北京注册成立一个公司需要多少钱 北京公司都是什么 手机导航地图语音怎么下载 如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 锻炼颈椎的几个动作 什么是Java的封装继承和多态?在线等!!!! Java中 的继承和多态 java与c++中类的继承性和多态性区别 java 继承 多态 接口 用法及区别 谁能具体解释解释Java中类的继承和多态 Java继承和多态问题 c++里的类的继承和多态与Java里的继承和多态的区别是? 如何理解java中继承与多态两个特性的概念? 如何理解java继承与多态 java中多态和继承有什么区别?感觉一样。 java多态和继承到底有什么区别呢 java中重载,继承,重写和多态的区别 java中继承和多态区别. 怎样录屏手机苹果 apple手机怎么录屏 苹果手机开飞行模式可以接收短信么 手机开着飞行模式期间有人发短信关了飞行的时候能收到吗 苹果手机开了飞行模式 别人打电话能看见吗 能收到短信那个短信的时间对吗 手机开了飞行模式可以收到电话短信吗?可以上网吗? 手机飞行模式下能接受短信吗 请教java中的封装,继承,多态,各自的特点以及作用?各举简单的实例。谢谢! Java中封装,继承,多态各有什么优势 Android基础之Java多态,继承,重载和重写的区别 java语言中继承的特点是什么?多态有什么好处? JAVA中的多态与重载有什么区别? 云盘在哪里呢 小米手机云盘在哪里? 钉钉云盘在哪里? oppo 手机的云盘在哪里 云盘在哪里打开 钉钉云盘在哪里? 网盘在手机的什么地方 oppo云盘在手机的什么地方 oppo云盘在哪里 什么是云盘,在手机上的什么地方 微信云盘在什么地方 电脑上的云盘在哪里 360云盘在哪里打开? 百度网盘在什么地方? 百度知道里的百度云盘在哪里?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com