ExtJS4.2学习 php版(三)

我们先定义一个Person类  ExtJS4采用define方法

Ext.define("My.Person",{
	
	name : "",
	
	constructor : function(name) {
		this.name = name;
	},
	
	say : function() {
		var me = this;
		alert("My name is "+me.name);
		return this;	
	}
		
});
var adn = Ext.create("My.Person","holy");
adn.say();

可以看出来 ExtJS使用对象继承的方式构造类 没有私有变量 也没有保护变量 全是公有

ExtJS关键字 

extend

config

mixins

requires

statics

alias

alternateClassName

inheritableStatics 

singleton

uses

使用extend关键字继承

Ext.define("My.Teacher",{
	
	extend : "My.Person",
	
	constructor : function(name, type) {
		this.type = type;
		this.callParent([name]);
	},
	
	types : function() {
		var me = this;
		alert("My type is "+me.type);
		return this;			
	}
		
});
var adn = Ext.create("My.Teacher","holy","word");
adn.types();

ExtJS更推荐另一种类的定义方法 这种可以无限继承 没有任何问题

Ext.define("My.Teacher",{
	
	config: {
	 name : ""
	},
	
	constructor: function(cfg) {
	 this.initConfig(cfg);
	},
	
	say : function() {
		var me = this;
		alert("My type is "+me.name);
		return this;			
	}
		
});

    我都快疯了 请问这样合jquey插件有什么区别 果然ExtJS4后ExtJS有投降jquery的趋势

    使用config定义的好处可以自动生成get set方法

Ext.define('My.MathTeacher', {
     extend : "My.Teacher",
     config: {
	 type : "Math"
     },
     constructor: function(cfg) {
         this.initConfig(cfg);
     }
});
var adn = Ext.create("My.MathTeacher",{
		name : "asds",
		type : "sads"
	});
adn.setName("pac");
alert(adn.getName());

alias 为类定义一个或几个别名 使得类更好的使用 实际上是用来配合Ext.widget等方法的

上面的类我们加一个alias关键字 这样我们就可以用别名来定义类了

Ext.define('My.MathTeacher', {
	 extend : "My.Teacher",
	 alias : ["MyTeacher","MathTeacher"],
     config: {
		 type : "Math"
     },
     constructor: function(cfg) {
         this.initConfig(cfg);
     }
});
var adn = Ext.create("MathTeacher",{
		name : "asds",
		type : "sads"
	});
adn.setName("lbc");
adn.say();


转载于:https://my.oschina.net/u/1421356/blog/214876

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值