zoukankan      html  css  js  c++  java
  • 多态

    第一个场景第一级:对象的多态性

        var makeSound=function(animal){
            animal.sound();
        }
        var duck=function(){};
        duck.prototype.sound=function(){
            console.log('嘎嘎嘎')
        }
        makeSound(new duck());
        var chicken=function(){};
        chicken.prototype.sound=function(){
            console.log('咯咯咯')
        }
        makeSound(new chicken());
        var dog=function(){};
        dog.prototype.sound=function(){
            console.log('汪汪汪');
        }
        makeSound(new dog());

    第二个场景:第一级,需要有什么类型就要去判断if else 去判断,要是有需要添加一个地图,又需要改密码了

        var googleMap={
            show:function(){
                console.log('开始渲染谷歌地图');
            }
        }
        var baiduMap={
            show:function(){
                console.log('开始渲染百度地图');
            }
        }
        var renderMap=function(type){
            if(type == 'googleMap'){
                googleMap.show();
            }else if(type=='baiduMap'){
                baiduMap.show();
            }
            
        }
        renderMap('googleMap');
        renderMap('baiduMap');

    第二级:这样不管你有多少个类型,都不需要改主代码

        var googleMap={
            show:function(){
                console.log('开始渲染谷歌地图');
            }
        }
        var baiduMap={
            show:function(){
                console.log('开始渲染百度地图');
            }
        }
        var renderMap=function(map){
            if(map.show instanceof Function){
                map.show();
            }
        }
        var sosoMap={
            show:function(){
                console.log('开始渲染soso地图')
            }
        }
    renderMap(googleMap);
    renderMap(baiduMap);
    renderMap(sosoMap);
  • 相关阅读:
    UIWebView stringByEvaluatingJavaScriptFromString的使用方法
    手动截图
    KVO与KVC的使用(转)
    LKDBHelper Sqlite操作数据库
    GCD多线程的使用
    ios --- 调用系统"设置"里的功能(转)
    ios开发小技巧(转)
    url字符串中含中文的转码方法
    ios 照片编辑的view封装
    字符串去空格
  • 原文地址:https://www.cnblogs.com/lwwen/p/6164422.html
Copyright © 2011-2022 走看看