js 继承(3 使用prototype.js)

来源:互联网 发布:mac地址是唯一的吗 编辑:程序博客网 时间:2024/05/17 21:07

var Class = {

    create:function(){

        return function(){

            this.initialize.apply(this,arguments); 

        }

    }

}

//destination 子对象

//source 父对象

Object.extend = function(destination,source){

    for(property in source){

        destination[property] = source[property];

    }

    return destination;

}

var Person = Class.create();

 

Object.extend(Person.prototype,{

    initialize:function(name){

        this.name = name;

    },

    getName:function(){

        return this.name;

    }

});

 

var User = Class.create();

//等价于:

//var User = fucntion(){

//  this.initialize.apply(this,arguments); 

// }

User.prototype = Object.extend(new Person(),{

    initialize:function(name,password){

        this.name = name;

        this.password = password;

    },

    getPassword:function(){

        return this.password;

    }

});

var u = new User('xiaobai','123');

alert(u.getPassword());

alert(u.getName());

原创粉丝点击