设计模式之多态

简介: 设计模式之多态

什么是多态?


多态是指为不同数据类型的实体提供统一的接口,也就是同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。


理解

1、为不同数据类型的实体提供统一的接口。


类也可以作为是一个数据类型,在这里不同的数据类型就是加、减、乘、除四个类,统一的接口是父类的operation类。


代码体现:


不同的数据类型:OperationAdd、OperationSub、OperationMul、OperationDiv


统一的接口是oper,


943e767b87b68959bb5e0a66c81632b3_b6d458c6754a224fddea7ac9d98c48bb.png


2、同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果


25f2b26c947fca5b2c0832d851ef8a21_47dc4ac7304f4d5d996d13b6928f5595.png

223382a436f5c0a1594b09de257efda5_36d2caef616549c7acf048cb7ff5bb68.png


加法类继承了计算方法类,并重写了父类的方法,但是在操作上有不同体现,并有不同的结果。也就是加法继承了计算方法类,加法的操作结果是加法的结果,减法的操作结果是减法得出的结果。


同一操作是父类的虚方法。不同的对象是加减乘除四种子类,不同的结果是加减乘除最后的执行结果。


相关文章
|
8月前
|
设计模式 存储 JavaScript
[设计模式Java实现附plantuml源码~创建型] 多态工厂的实现——工厂方法模式
[设计模式Java实现附plantuml源码~创建型] 多态工厂的实现——工厂方法模式
|
设计模式
设计模式小例子理解封装、继承、多态
设计模式小例子理解封装、继承、多态
96 0
|
设计模式
【设计模式】再次认识多态
【设计模式】再次认识多态
|
设计模式 程序员 编译器
【大话设计模式】封装 继承 多态
【大话设计模式】封装 继承 多态
|
设计模式 存储 安全
【Java设计模式 面向对象设计思想】一 再谈面向对象和封装、抽象、继承、多态四大特性
【Java设计模式 面向对象设计思想】一 再谈面向对象和封装、抽象、继承、多态四大特性
99 0
|
设计模式
【设计模式】面向对象 - 多态 ( 面向对象 3 要素 | 多态 提升 程序扩展性 | 多态示例 )(二)
【设计模式】面向对象 - 多态 ( 面向对象 3 要素 | 多态 提升 程序扩展性 | 多态示例 )(二)
122 0
【设计模式】面向对象 - 多态 ( 面向对象 3 要素 | 多态 提升 程序扩展性 | 多态示例 )(二)
|
设计模式 Java
【设计模式】面向对象 - 多态 ( 面向对象 3 要素 | 多态 提升 程序扩展性 | 多态示例 )(一)
【设计模式】面向对象 - 多态 ( 面向对象 3 要素 | 多态 提升 程序扩展性 | 多态示例 )(一)
157 0
【设计模式】面向对象 - 多态 ( 面向对象 3 要素 | 多态 提升 程序扩展性 | 多态示例 )(一)
|
JavaScript 算法 前端开发
《JavaScript设计模式》——2.5 多种调用方式——多态
多态,就是同一个方法多种调用方式吧。在JavaScript中也是可以实现的,只不过要对传入的参数做判断以实现多种调用方式,如我们定义一个add方法,如果不传参数则返回10,如果传一个参数则返回10+参数,如果传两个参数则返回两个参数相加的结果。
1254 0
|
C++ C语言 设计模式
【C/C++学院】0804-C语言和设计模式(继承、封装、多态)
<p align="left">C++有三个最重要的特点,即继承、封装、多态。<a target="_blank" name="_GoBack"></a>我发现其实C语言也是可以面向对象的,也是可以应用设计模式的,关键就在于如何实现面向对象语言的三个重要属性。</p> <p align="left"><strong><span style="color:#000099">(</span>
1779 0

热门文章

最新文章