JavaScript中的继承机制
2009-10-28 00:00:00 来源:WEB开发网1,对象冒充方式
原理:构造函数使用this关键字给所有属性和方法赋值。因为构造函数只是一个函数,所有可是基类的构造函数成为子类的方法,然后调用它。子类就会收到基类的构造函数中定义的属性和方法。
function ClassA(sColor) {
this.color = sColor;
this.showColor = function() {
alert(this.color);
};
}
function ClassB(sColor,sName) {
this.newMethod = ClassA;
this.newMethod(sColor);
delete this.newMethod; //删除对ClassA的引用,以后就不能在调用它。
this.name = sName; //所有新的属性和方法必须在删除了新方法(newMethod)的代码后定义.否则,可能会覆盖基类的相关属性和方法
this.showName = function() {
alert(this.name);
};
}
var objA = new ClassA("red");
var objB = new ClassB("blue","Nicholas");
objA.showColor(); //outputs "red"
objB.showColor(); //outputs "blue"
objB.showName(); //outputs "Nicholas"
并且对象冒充可以支持多重继承。
例如
function ClassZ(){
//继承ClassX
this.newMethod = ClassX;
this.newMethod();
delete this.newMethod;
//继承ClassY
this.newMethod = ClassY;
this.newMethod();
delete this.newMethod;
}
Tags:JavaScript 继承 机制
编辑录入:爽爽 [复制链接] [打 印]赞助商链接