当前位置:网站首页>什么是多态。
什么是多态。
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 父类的引用指向子类的对象。
父类的引用指向子类的对象指的是
声明的一个父类型引用,指向对应子类对象。
边栏推荐
猜你喜欢

解决腾讯云DescribeInstances api查询20条记录以上的问题

无监督特征对齐的迁移学习理论框架

电脑知识:台式电脑应该选择品牌和组装,值得收藏

Software: Recommend a domestic and very easy-to-use efficiency software uTools to everyone

Detailed explanation of DenseNet and Keras reproduction code

数据库知识:SQLServer创建非sa用户笔记

Operating System Kernel

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

关于网络安全行业你知道多少?

怎样才能转行成功?
随机推荐
Jackson 使用样例
Uos统信系统 DNS
杰哥带大家做一次meterpreter内网渗透模拟
matlab的2DCNN、1DCNN、BP、SVM故障诊断与结果可视化
自学网络安全你为什么一学就废?
缓动动画,有关窗口的一些常见操作,BOM操作
安全漏洞是如何被发现的?
MySQL之SQL结构化查询语言
用chrome dev tools 强制js注入
C#找系统文件夹路径
Computer knowledge: desktop computers should choose the brand and assembly, worthy of collection
冰歇webshell初探
网络安全学习的三大不可取之处
以太网 ARP
SENet detailed explanation and Keras reproduction code
网络安全行业是蓝景吗?
VMD结合ISSA优化LSSVM功率预测
JUC锁框架——初识AQS
键盘扫描码
Uos统信系统 DISK(RAID+LVM)