当前位置:网站首页>什么是多态。
什么是多态。
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 父类的引用指向子类的对象。
父类的引用指向子类的对象指的是声明的一个父类型引用,指向对应子类对象。
边栏推荐
猜你喜欢
QT QOpenGLWidget 全屏导致其他控件显示问题
QT 出现多冲定义问题
Time Series Forecasting Based on Reptile Search RSA Optimized LSTM
狗都能看懂的CenterNet讲解及代码复现
Database document generation tool V1.0
Microsoft Store 微软应用商店无法连接网络,错误代码:0x80131500
Database Skills: Organize SQL Server's Very Practical Scripts
Software: Recommend a domestic and very easy-to-use efficiency software uTools to everyone
Pfsense漏洞复现(CVE-2021-41282)
Faster - RCNN principle and repetition code
随机推荐
POI及EasyExcel
Uos统信系统 DNS
IE8 打开速度慢的解决办法
水平垂直居中的12种方法,任意插入节点的方法,事件的绑定的三种方法和解绑的方法,事件对象,盒子模型
RuntimeError: You called this URL via POST, but the URL doesn‘t end in a slash and you have APPEND_S
网络技巧:教你给路由器装上电池,断电照样可以上网!
C# 剪裁图片内容区域
SENet详解及Keras复现代码
目标检测中的先验框(Anchor)
Visualization and Animation Technology (VR System)
键盘扫描码
自适应迁移学习核极限学习机用于预测
数据库技巧:整理SQLServer非常实用的脚本
IP 核之 MMCM/PLL 实验
DropBlock: 卷积层的正则化方法及复现代码
bitnami/mongodb-sharded在AWS EKS扩展shard失败解决
Uos统信系统 Postfix-smtps & Dovecot-imaps
怎样才能转行成功?
给想要转行渗透测试人的忠告
2DCNN, 1DCNN, BP, SVM fault diagnosis and result visualization of matlab