在Ext中通过Ext.extend(...)方法来实现类的继承
首先需要定义一个子类,并在构造方法中调用父类的构造方法
然后通过Ext.extend()方法实现继承关系,在方法体内可以定义任何的方法,如果该方法的名称和参数都与父类方法中某方法一致,那么该方法是重写的方法。否则,是新方法。
例子:
//命名空间 Ext.namespace("cn.cgw"); //ͨ用构造函数定义类ExtendtClass cn.cgw.ExtendClass = function() { //调用父类构造方法 cn.cgw.ExtendClass.superclass.constructor.apply(this); } Ext.extend(cn.cgw.ExtendClass,cn.cgw.FirstClass,{ //新方法 newMethod : function() { alert("新方法"); }, //重写的方法 publicMethod : function() { alert("重写的方法"); } }); function testExtendClass() { var ec = new cn.cgw.ExtendClass(); ec.newMethod(); ec.publicMethod(); }
<html>
<head>
<title>Test Class Define In Ext</title>
<link rel="stylesheet" type="text/css"
href="extjs/resources/css/ext-all.css" />
<script type="text/javascript" src="extjs/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="extjs/ext-all-debug.js"></script>
<script type="text/javascript" src="oop/ExtClass.js"></script>
<script type="text/javascript" src="oop/ExtExtendClass.js"></script>
</head>
<body onload="testExtendClass()">
</body>
</html>