我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:六合图库 > 多态 >

什么是多态性C++中是如何实现多态的

归档日期:07-09       文本归类:多态      文章编辑:爱尚语录

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  千锋教育专注HTML5前端、Java开发、Python全栈、UI设计、物联网嵌入式、区块链、大数据、人工智能、软件测试、PHP、云计算、信息安全、Unity游戏开发、红帽RHCE认证培训服务C++中,实现多态有以下方法:虚函数,抽象类,覆盖,模板(重载和多态无关)。

  虚函数是指在某基类中声明为 virtual 并在一个或多个派生类中被重新定 义的成员函数,用法格式为:virtual 函数返回类型 函数名(参数表) {函数体};实现多态性,通过指向派生类的基类指针或引用,访问派生类中同名覆盖成员函数。

  C++为了让一个类成为抽象类,至少必须有一个纯虚函数。包含至少一个纯虚函数的类视为抽象类。

  知道合伙人IT服务行家采纳数:3972获赞数:9607大连车为先科技有限公司导航开发工程师向TA提问展开全部多态按字面的意思就是“多种状态”。在面向对象语言中,接口的多种不同的实现方式即为多态。

  多态性是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。

  把不同的子类对象都当作父类来看,可以屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化。

  赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。也就是说,父亲的行为像儿子,而不是儿子的行为像父亲。

  举个例子:例如ATM机。世界上有非常多的银行,每个银行都有好多种卡。如果ATM需要为每一种卡写一种方法去调用,例如getMoney(CCBCard card),getMoney(BBCard card)就会非常的麻烦。而且维护起来就是灾难性的。因为每时每刻都可能会有新的卡出现。所以我们可以采用多态

  getMoney(Card card),所有的银行卡都继承Card这个类。这样就可以避免为每一种卡写一个方法。但是每一种卡的使用方法,作用都不一样,Card如何调用每一种卡不同的内容呢?

  这就需要多态。让你看起来像是操作的父类,但是实际的运行内容却是子类的内容。

  生物*是爸爸(父类),鸟类**是儿子(子类),鱼类**是二儿子(子类)。龙生九子,各不相同。

  生物*的特点{活的,有细胞},儿子 鸟类**继承了爸爸{活的,有细胞},还延伸出了一个特点{有翅膀},所以鸟类**的特点是{活的,有细胞,有翅膀};

  而鱼类**也延伸出自己的特点,有{鳃},所以鱼类的特点{活的,有细胞,鳃}。

  划重点:没有继承性,就不会有多态性的存在(面向对象三大特性:封装、继承、多态)。

  多态性可以快速的判断事物本身的特点,而不用通过依赖顺序判断(先判断是不是生物,再查找有没有翅膀),明明就有个“鳃”你看见了,这就是一条鱼!何必多此一举????

  多态,继承等等是概念!概念!概念!理解这个概念,而不是片面断裂的人为划界限!

本文链接:http://lcvam.com/duotai/706.html