当前位置:
首页 >
前端技术
> javascript
>内容正文
javascript
javascript封装与多态的体现
生活随笔
收集整理的这篇文章主要介绍了
javascript封装与多态的体现
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
封装是实现面向对象程序设计的第一步,封装就是将数据与函数等集合在一个个的单元中(我们称之为类)。被封装的对象通常被称为抽象数据类型。
在传统的面向对象语言中有访问修饰符,如Private:只有类本身能存取.Protected:类和派生类可以存取.Public:完全存取.
那么在没有这些访问修饰符的javascript中是怎么实现封装的呢,请看如下代码:
以上是通过匿名函数立即执行来实现的,myObject返回一个对象中包含getName方法,在getName函数声明的作用域中可以访问到私有属性__name,而myObject外部环境却无法直接访问__name。
多态:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。
先看一段普通的javascript代码如何渲染地图。
如上写法,假如我们需要增加高德地图,还要修改renderMap函数,往里面堆砌if条件分支语句. 十分不利于代码的复用。
可以借助面向对象多态的思想,把程序相同部分抽离出来,升级写法如下:
var renderMap = function (map) {if(map.show instanceof Function){map.show();} }; renderMap(googleMap); renderMap(baiduMap);#现在增加一个高德地图 var gaodeMap = {show: function () {console.log('Render Gaode Map');} }; renderMap(gaodeMap);
当然以上写法只是体现多态的思想,并不是说每个地图的渲染方法都是show。
转载于:https://www.cnblogs.com/peakleo/p/6213944.html
总结
以上是生活随笔为你收集整理的javascript封装与多态的体现的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 基金风险有哪些 注意这几个就可以
- 下一篇: javascript中最最最常用的方法封