Javascript的继承和Ext的Extend
Javascript中实现一个类,使用的是Construct Function和prototype
例如:
Shape = function(name,area){
if(name != null)
this.name = name
if(area != null)
this.area = area
}
Shape.prototype = {
name:'',
area:0
}
var shape1 = new Shape('shape_1',20)
集成实现Rectangle
方式一:
Rectangle = function(){
}
//此时将Shape的对象作为Rectangle的prototype
Rectangle.prototype = new Shape();
方式二: 不调用Shape的构造函数
Rectangle = function(){
}
F = function(){}
F.prototype = Shape.prototype;
Rectangle.prototype = new F();
方式三:Ext的方式,接近于第二种, 同时 Rectangle.superclass = Shape.prototype,以便于在构造函数中使用
Rectangle = function(){
Rectangle.superclass.constructor.call(this,...
}
Ext.extend(Rectangle, Shape)
Javascript中实现一个类,使用的是Construct Function和prototype
例如:
Shape = function(name,area){
if(name != null)
this.name = name
if(area != null)
this.area = area
}
Shape.prototype = {
name:'',
area:0
}
var shape1 = new Shape('shape_1',20)
集成实现Rectangle
方式一:
Rectangle = function(){
}
//此时将Shape的对象作为Rectangle的prototype
Rectangle.prototype = new Shape();
方式二: 不调用Shape的构造函数
Rectangle = function(){
}
F = function(){}
F.prototype = Shape.prototype;
Rectangle.prototype = new F();
方式三:Ext的方式,接近于第二种, 同时 Rectangle.superclass = Shape.prototype,以便于在构造函数中使用
Rectangle = function(){
Rectangle.superclass.constructor.call(this,...
}
Ext.extend(Rectangle, Shape)