当前位置:网站首页>什么是多态。
什么是多态。
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 父类的引用指向子类的对象。
父类的引用指向子类的对象指的是
声明的一个父类型引用,指向对应子类对象。
边栏推荐
- SegNet——论文笔记
- CMDB 阿里云部分实现
- MySQL stored procedure study notes (based on 8.0)
- Computer knowledge: desktop computers should choose the brand and assembly, worthy of collection
- 键盘扫描码
- Software: Recommend a domestic and very easy-to-use efficiency software uTools to everyone
- Time Series Forecasting Based on Reptile Search RSA Optimized LSTM
- A priori box (Anchor) in target detection
- VMD combined with ISSA to optimize LSSVM power prediction
- 网络安全求职指南
猜你喜欢

bitnami/mongodb-sharded在AWS EKS扩展shard失败解决

Microsoft Store 微软应用商店无法连接网络,错误代码:0x80131500

CMDB 腾讯云部分实现

目标检测中的IoU、GIoU、DIoU与CIoU

A semi-supervised Laplace skyhawk optimization depth nuclear extreme learning machine for classification

无一技之长学什么可以做到月入上万?

杰哥带大家做一次meterpreter内网渗透模拟

关于gopher协议的ssrf攻击

基于子空间结构保持的迁移学习方法MLSSM

子空间结构保持的多层极限学习机自编码器(ML-SELM-AE)
随机推荐
为什么不使用VS管理QT项目
Uos统信系统 IP地址以及完整主机名配置
让src文件夹能读取xml文件
给想要转行渗透测试人的忠告
把DocumentsandSettings迁移到别的盘
对渗透测试工程师来说,学历重要嘛?
电脑知识:台式电脑应该选择品牌和组装,值得收藏
A priori box (Anchor) in target detection
JUC锁框架——基于AQS的实现,从ReentrantLock认识独占和共享
Interpretation of EfficientNet: Composite scaling method of neural network (based on tf-Kersa reproduction code)
有且仅有的三种处理JSON的方法
键盘扫描码
EL expression
DenseNet详解及Keras复现代码
复杂格式的json转递
益智小游戏- 算算总共多少正方形
数据库:整理四个实用的SQLServer脚本函数
POI及EasyExcel
注册表设置默认浏览器 win7,winserver 2008,winserver 2012
自学网络安全你为什么一学就废?