忘了关签名了……这个例子包含了继承。circle是继承geometricObject的类,因此及时circle中没声明,他也有color属性。另外circle有两种初始声明函数,名字相同只是参数不同。这个很有讲究,看下面的例子,执行:
var a=new circle(2);
var b=a.color+","+a.getArea();
最终b会变成“white,12.56”,super与this相对,用于引用父类中的属性和方法。(被继承的类叫父类,继承它的类就叫子类)super.geometricObject()执行了父类中的初始化函数。var a=new circle(2);用的是第二种声明,就给radius赋了初值2。this.radius=radius;将传入的参数radius赋给了circle的属性radius,二者同名,这也是要用this的典型地方。
var a=new circle(2);
var b=a.color+","+a.getArea();
最终b会变成“white,12.56”,super与this相对,用于引用父类中的属性和方法。(被继承的类叫父类,继承它的类就叫子类)super.geometricObject()执行了父类中的初始化函数。var a=new circle(2);用的是第二种声明,就给radius赋了初值2。this.radius=radius;将传入的参数radius赋给了circle的属性radius,二者同名,这也是要用this的典型地方。