• js中实现多态


    最近读到一本书《JavaScript设计模式与开发实践》上,讲到js的多态,我在JavaScript高级程序编程里貌似都没有见过关于这个的详细讲解,所以想问问大家有没有什么推荐的文章或者博客,可以推荐给小弟的,让小弟可以深入了解一下。
    先把那本上的例子拿出来跟大家分享:
    书里面的故事:本人家里养了一只鸡,一只鸭。当主人向他们发出‘叫’的命令时。鸭子会嘎嘎的叫,而鸡会咯咯的叫。转化成代码形式如下

    非多态代码示例

    var makeSound = function(animal) {
        if(animal instanceof Duck) {
            console.log('嘎嘎嘎');
        } else if (animal instanceof Chicken) {
            console.log('咯咯咯');
        }
    }
    var Duck = function(){}
    var Chiken = function() {};
    makeSound(new Chicken());
    makeSound(new Duck());

    多态的代码示例

    var makeSound = function(animal) {
        animal.sound();
    }

    var Duck = function(){}
    Duck.prototype.sound = function() {
        console.log('嘎嘎嘎')
    }
    var Chiken = function() {};
    Chiken.prototype.sound = function() {
        console.log('咯咯咯')
    }

    makeSound(new Chicken());
    makeSound(new Duck());

    附(https://segmentfault.com/q/1010000003056336)(http://blog.csdn.net/xiebaochun/article/details/38749953)

  • 相关阅读:
    [转]Java中实现自定义的注解处理器
    [转]IntelliJ IDEA 自定义方法注解模板
    [转]Intellij Idea自动添加注释的方法
    C++中substr的用法
    C++中find()函数和rfind()函数的用法
    无符号类型
    标准库string与C风格字符串
    vector对象
    string 类(二)
    string类
  • 原文地址:https://www.cnblogs.com/aliwa/p/6440945.html
Copyright © 2020-2023  润新知