Js如何使用prototype实现继承

前言

在JS中如何使用prototype实现继承呢

具体代码如下所示

var Dog = Class.create();  // 使用Class的create()函数创建类

Dog.prototype = {    //指定构造函数和属性   
    init: function(name) { // 构造函数
       this.name = name;
    },
    cry: function(msg) {   // 定义cry成员函数
        alert(this.name+':'+msg);
    }
}

var SmallDog = Class.create();  // 创建小的类
// 使用extend()函数继承dog的属性和函数
SmallDog.prototype = Object.extend(new Dog(),{
    cry: function(msg) {
        alert(this.name+'说道'+msg);
    }
});

var duoduo = new SmallDog('多多'); // 创建多多小狗
duoduo.cry('Hello');    // 调用cry函数,调用的是覆盖后的函数

分析

通过上面的代码,可以看出,prototype提供了Object.extend函数来实现继承机制,代码首先定义了一个SmallDog类,继承自Dog

局部Dog类的成员变量和函数,也可以重载cry()函数,提供不通的实现

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享