继承设计


function extend(subClass, superClass){
var F = function(){};
F.prototype = superClass.prototype;
subClass.prototype = new F();
subClass.prototype.contructor = subClass;

subClass.superclass = superClass.prototype;
if(superClass.prototype.constructor == Object.prototype.constructor){
superClass.prototype.constructor = superClass;
}
}

function Person(name){
this.name = name;
}

Person.prototype.getName = function(){
return "sss";
}

function Author(name, books){
Author.superclass.constructor.call(this, name);
this.books = [];
}

extend(Author, Person);

Author.prototype.getBooks = function(){
return this.books;
}

Author.prototype.getName = function(){
var name = Author.superclass.getName.call(this);
return name + ", Author of" + this.getBooks().join(",");
}

window.onload = function(){
//var a = new Author("li","abcdefg");
alert(Author.superclass.getName());
}


有了superclass属性就可以直接调用超类中的方法。这在既要重定义超类的某个方法而又想访问其在超类中的实现时可以派上用场。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值