什么是多态

1.什么是多态
**概念:**多态是指为不同数据类型的实体提供统一的接口(不同类型的实体指的是各个子类类型,统一的接口是父类指向子类的对象)
同一操作作用于不同的对象可以有不同的解释,产生不同的结果
多态,作为面向对象三大特征之一。通俗来说,如果我们现在有一个Animal类,类中有一个名为Shot()的抽象方法,Animal作为父类,而Dog、Cat继承了Animal,作为Animal的子类,分别实现了Shot方法,展现出了“猫叫”“狗叫”的不同状态。当然Animal的子类可以有多个,同一个“Shot”的行为展现出的是不同的叫声(不同的叫的状态),这就是多态的体现。

代码对应:
在这里插入图片描述

不同的数据类型(不同数据类型的对象,四个数据类型(OperationAdd、OperationSub、OperationMul、OperationDiv四个类的名称)),计算机里所有的对象都是数据,所有的数据都是对象。在上图的代码中,第一行的operFactory是AddFactory类型的实体,同时,AddFactory作为加法工厂,还可以替换成减、乘、除,operFactory对应成了相应的类型,
AddFactory()类型可以替换,而第二行 Operation oper = operFactory.CreateOperation();是没有变化的,CreateOperation是不同的类型的父类提供的统一的接口

系统根据对象所属的类别(±*/),引发对应类别的方法
在这里插入图片描述

OperationAdd\OperationSub\OperationMul\OperationDiv分别是不同数据类型的实体,它们都指向了oper(统一的接口)
2.子类对象指向父类引用,父类引用指向子类对象两种不同的实现方式

敬请期待,后续更新

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值