JavaScript 多态
日期: 2017-07-17 浏览量: 2641
多态的含义:同一操作作用不同的对象上面,可以产生不同的解释和不同的结果。
例:假设我们要写一个地图应用,现在可能有两家供应商提供我们接入自己的应用(百度,谷歌). 两家供应商的api中提供show方法,负责展示地图。
代码如下:
var googleMap = {
show : function(){
console.log('开始渲染谷歌地图')
}
}
var baiduMap = {
show : function(){
console.log('开始渲染百度地图')
}
}
var renderMap = function( map ){
if(map.show instanceof Function){
map.show();
}
}
renderMap(googleMap); //输出: 开始渲染谷歌地图
renderMap(baiduMap); //输出: 开始渲染百度地图
从上面代码我们可以看出,多态的背后思想实际上是把“做什么”和“谁去做以及怎么去做”分离开来,也就是将“不变的事物”与“可变的事物分离开发”。要实现这一点,归根结底先要消除类型之间的耦合关系(例如:静态类语言 java)。而javascript的变量类型在运行期是可变的。这意味着javaScript对象的多态特性是与生俱来的。(在java中,可以通过向上转型实现多态)
人活着,其实就是一种心态,你若觉得快乐,幸福无处不在;你为自己悲鸣,世界必将灰暗。
阅读排行
最新文章
联系方式
- 邮箱:m18811126599@163.com
- QQ:896956692