首页

文章

C++中 继承与多态区别

发布网友 发布时间:2022-03-27 12:47

我来回答

3个回答

懂视网 时间:2022-03-27 17:09

以java为例,继承和多态的区别如下:

  

  1、继承是面向对象最显着的一个特性。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。

  

  2、多态指同一个实体同时具有多种形式。它是面向对象程序设计(OOP)的一个重要特征。如果一个语言只支持类而不支持多态,只能说明它是基于对象的,而不是面向对象的。C++中的多态性具体体现在运行和编译两个方面。运行时多态是动态多态,其具体引用的对象在运行时才能确定。编译时多态是静态多态,在编译时就可以确定对象使用的形式。

热心网友 时间:2022-03-27 14:17

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”
它的约束:如果一个类中有纯虚函数,则这个类叫做抽象类,它是不能定义对象的。

热心网友 时间:2022-03-27 15:35

继承是指,子类可以自动获得父类提供的函数,如父类提供了foo函数,则子类也会有foo函数
多态是指,子类可以重写父类的某个函数,从而为这个函数提供不同于父类的行为。一个父类的多个子类可以为同一个函数提供不同的实现,从而在父类这个公共的接口下,表现出多种行为

当然,以上的自动获得和重写,还存在一个访问级别的概念。比如public的函数或者protected的函数才能被重写这类的*。
贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 网络诈骗定罪标准揭秘 “流水不争先”是什么意思? mc中钻石装备怎么做 为什么我的MC里的钻石块是这样的?我想要那种。是不是版本的问题?如果是... 带“偷儿”的诗句 “君不见巴丘古城如培塿”的出处是哪里 带“奈何”的诗句大全(229句) 里翁行()拼音版、注音及读音 带“不虑”的诗句 “鲁肃当年万人守”的出处是哪里 无尘防尘棚 进出口报关流程,越详细越好。谢谢大家指教。 双线桥不是看化合价升多少就标多少的吗?为什么CL2+2KI=2KCL+I2中I失... 出师表高锰酸钾有画面了吗 2021年幼儿园新学期致家长一封信 电脑屏幕一条黑线怎么办? 销售代理商销售代理商的特点 商业代理商业代理的特征 如何看微信有没有开通微众银行 为什么微众没有开户 微众银行怎么开户 微众银行APP开户流程是什么? 唐古拉山海拔唐古拉山海拔是多少 怎么看待取消跳广场舞的人的退休金 如何选购新鲜的蓝田水柿? 恭城水柿柿树作用 创维洗衣机使用教程 创维全自动洗衣机怎么使用 自动开门器 狗羊属相婚姻相配吗 3岁的小孩不会说话怎么办 3岁孩子不会说话,应该挂什么科? 3岁小孩不会说话正常吗 鹿茸炖乌鸡怎么做? 新型冠状肺炎吃什么药可以预防 冰箱上电后一直响 食品生产许可证编号开头为“ G”。 库存过期香精 怎样理解封装,继承,多态,三者的区别 java中多态和继承的区别 继承,多态,重载和重写的区别 多态性和继承性的区别 小米9se升级到V12.0.30系统,效果怎么样? 小米9有必要刷第三方的系统而不用MIUI吗? 小米系统9手机什么时候更新 小米9系统升级miui11.050的好处和坏处? 小米9的miui10.2.16.0的系统能更新吗,更新之后会不会加快手机的耗电,因为本身耗电就很快 小米9下架系统会更新吗? 小米更新系统好吗 小米手机更新系统有好处吗 小米9手机如何升级系统? 小米9 要不要降级到MIUI10? 小米手机到底该不该更新系统,升级后是不是会越来越卡软件闪退?? 红米9手机提示系统新版本11070稳定版,是否需要升级? 小米Note9更新系统有害吗? 小米9手机一直更新系统,一直更新会不会让手机越来越卡,更新系统好还是不更新系统好? 我是两天前买的小米9,他们说最好不要更新,可是昨天晚上不知道为什么自动更新了,这对手机有害吗 小米九最新系统12用不用更新? C++多重继承与多态的区别 C++继承和多态有有什么区别 继承与多态的关系? 什么是继承和多态性? 重载,继承,重写和多态的区别 如何理解封装,继承和多态 拼多多怎么查询订单客户是否有备注 拼多多收货人+自提点怎么填写? mtk6771是什么处理器 联发科 MT6771V处理器怎么样? 联发科 MT6771V处理器怎么样 联发科 MT6771V相当于骁龙的哪个处理器? mt6873v是什么处理器? 联发科mt6771v对标高通骁龙什么型号? mt6771v是联发科p60吗 MT6771V处理器和麒麟710那个强? mt6771v处理器和骁龙730比哪个好? 联发科 MT6771V有没有骁龙820好 联发科 MT6771V与联发科 MT6763T? mt6771处理器相当于麒麟多少
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com