当前位置:网站首页>什么是多态。
什么是多态。
2022-08-04 05:35:00 【郝老三】
引言~我们总提到面向对象的三大特征、封装,继承,多态。今天我们就好好聊一聊多态。
一:什么是多态。
多态是建立在继承的基础上的,可以说没有继承就没有多态。多态指的就是。首先子类继承父类的方法、然后子类重写父类的方法、最后使用的时候,用父类的对象指向子类的引用,同样的一个父类对象会出现多种状态。
这样说可能有些枯燥,让我们结合代码来看一看吧~
二:解释多态的例子。
这个例子是,大话设计模式中简单工厂的例子,我先将类图、代码贴到下方,然后通过对这个例子的论述、深刻的理解多态。
2.1 类图

一共有六个类。分别是简单工厂类,运算类和它的四个子类
2.2 运算类

2.3 加减乘除类

2.4简单工厂类

这里,±*/四个case分支下,每个都是父类型的对象,指向的子类型的引用。通过这种方式,实现了多态。
命名同样都是这个父类型的对象oper,却可以有多种多样不同的操作。
2.5 客户端代码

三:总结
多态的核心就是,父类型对象指向不同的子类引用,通过这种方式,可以减少很多的if判断,让我们的代码更加容易维护(通过添加子类对象的方式)。让我们写出的程序更加符合设计原则。
四:代码对应。
4.1 多态是指为不同数据类型的实体提供统一的接口。
在这里。不同数据类型的实体,指的就是这些子类。OperationAdd,OperationSub,OperationMul,OperationDiv,统一的接口指的就是统一的父类对象oper。
4.3 父类的引用指向子类的对象。
父类的引用指向子类的对象指的是
声明的一个父类型引用,指向对应子类对象。
边栏推荐
- av_read_frame 阻塞,基于回调的解决办法
- 一场聚会,转行渗透测试月薪13.5k,感谢那个女同学......
- 事件链原理,事件代理,页面的渲染流程,防抖和节流,懒加载和预加载
- 升级到 MediaPlayer 11 时跳过验证副本的方法
- 沉浸式体验参加网络安全培训班,学习过程详细到底!
- ResNet详解:ResNet到底在解决什么问题?
- Software: Recommend a domestic and very easy-to-use efficiency software uTools to everyone
- RHCE之路----全
- Uos统信系统 DISK(RAID+LVM)
- ffmpeg打开rtsp流应该设置的几个参数
猜你喜欢
随机推荐
RuntimeError: You called this URL via POST, but the URL doesn‘t end in a slash and you have APPEND_S
Gramm Angle field GAF time-series data into the image and applied to the fault diagnosis
JUC锁框架——初识AQS
给想要转行渗透测试人的忠告
Database Skills: Organize SQL Server's Very Practical Scripts
Logical Address & Physical Address
软件:给大家推荐一款国产非常好用的效率软件uTools
matlab的2DCNN、1DCNN、BP、SVM故障诊断与结果可视化
QT 显示窗口到最前面(非置顶)
golang 坐标格式 转换 GCJ02ToWGS84
如何在Excel 里倒序排列表格数据 || csv表格倒序排列数据
YOLOv3详解:从零开始搭建YOLOv3网络
Nacos 原理
解决腾讯云DescribeInstances api查询20条记录以上的问题
Computer knowledge: desktop computers should choose the brand and assembly, worthy of collection
基于时序模式注意力机制(TPA)的长短时记忆(LSTM)网络TPA-LSTM的多变量输入风电功率预测
基于Event Stream操作JSON
冰歇webshell初探
Operating System Kernel
网络端口大全









