//抽象形状类
$.Class("Shape", {}, {
//构造函数
init : function(edge) {
this.edge = edge;
},
//实例方法
getEdge : function() {
return this.edge;
},
//实例方法
calcArea : function() {
return -1;
}
}); //三角形类
Shape("Triangle", {}, {
//构造函数
init : function(bottom, height) {
//调用父类同名方法
this._super(3);
this.bottom = bottom;
this.height = height;
},
//重写方法
calcArea : function() {
return this.bottom * this.height / 2;
}
}); //矩形类
Shape("Rectangle", {}, {
//构造函数
init : function(bottom, height) {
//调用父类同名方法
this._super(4);
this.bottom = bottom;
this.height = height;
},
//重写方法
calcArea : function() {
return this.bottom * this.height;
}
}); var triangle = new Triangle(4, 5);
console.log(triangle.getEdge());
console.log(triangle.calcArea()); var rectangle = new Rectangle(4, 5);
console.log(rectangle.getEdge());
console.log(rectangle.calcArea());