面向对象语言的要求:继承,封装,聚集,多态。
混合继承方式:
创建类的最好方式是用构造函数方式定义属性,用原型方式定义方法(为避免每次调用构造函数都要创建其内的方法)。这种方式同样适用于继承机制。如:
function ClassA(sColor)
{
this.color=sColor;
}
ClassA.prototype.sayColor=function()
{
alert(this.color);
}
function ClassB(sColor,sName)
{
ClassA.call(this,sColor);
this.name=sName;
}
ClassB.prototype=new ClassA();
ClassB.prototype.sayName=function()
{
alert(this.name);
}
//测试代码:
var objA=new ClassA("red");
var objB=new ClassB("blue","Nicholas");
objA.sayColor(); //outputs "red"
objB.sayColor(); //outputs "blue"
objB.sayName(); //outputs "Nicholas"