//抽象形状类 $.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());