`
ttitfly
  • 浏览: 616761 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Extjs2.0---继承

阅读更多
Extjs2.0里通过Ext.extend方法实现继承

//父类定义
BaseClass = function(){
	//begin
	this.cry = function(){//this.不能丢
		alert("crying....");
	}
	//end
}

BaseClass.prototype.name="";
BaseClass.prototype.say = function(){
	alert("say parent");
}
BaseClass.prototype.talk = function(){
	alert("talk parent");
}
//子类定义
SubClass = function(){
	SubClass.superclass.constructor.call(this);//调用父类构造函数,也就是执行BaseClass里的begin--->end中间的代码。如果这行代码注释掉,则begin---->end中间的代码不会初始化,但是父类用prototype构造的属性和方法任然会初始化
	//js里子类实例化时是不会去自己调用父类的构造函数的
	this.walk = function(){//this.必须要加上,否则SubClass的实例对象没有办法引用到该walk方法
		alert("i'm warking");
	}
}
//继承,第3个参数{},覆盖或者扩展父类方法,该参数也可以不要
Ext.extend(SubClass,BaseClass,{
	say:function(){
		alert("overide say");
	},
	jump:function(){
		alert("jumping");
	}
	
});
var sb = new SubClass();
sb.say();//overide say
sb.walk();//i'm warking
sb.jump();//jumping
sb.talk();//talk parent
sb.cry();//crying....
分享到:
评论
3 楼 yunhaifeiwu 2008-08-01  
Ext.extend(SubClass,BaseClass,{   
    say:function(){   
        alert("overide say");   
    },   
    jump:function(){   
        alert("jumping");   
    }   
       
});   


这句是EXT的继承语句,指示了SubClass继承于BaseClass。
2 楼 ttitfly 2008-06-02  
Ext.extend()函数的第2个参数不是指定了吗?
1 楼 fish26273 2008-06-01  
我没搞懂啊,了类定义部分,没有BaseClass出现,系统怎么知道你继承的是baseClass而不是别的?

相关推荐

Global site tag (gtag.js) - Google Analytics