『ExtJS』01 003. ExtJS 4 类的混合

ExtJS 4 中,可以在一个类里面包含另一个类,并合并它们的成员(包括方法与属性)。 使用这一个特性,我们可以对一些细小且经常被使用的方法进行打包,然后合并它们到各个需要它们的类中。

代码


ExtJS:4.0.7

IDE:Eclipse Java EE

浏览器:Chrome 25

   1: //-------等待被混合的类---------------------------------
   2: Ext.define('HasCamera', {
   3:     takePhoto : function() {
   4:         alert('Say Cheese! .... Click!');
   5:     }
   6: });
   7:  
   8: //-------混合HasCamera的另一个类------------------------
   9: Ext.define('Cookbook.Smartphone', {
  10:     mixins : {
  11:         camera : 'HasCamera'
  12:     },
  13:     
  14:     useCamera:function(){
  15:         this.takePhote();    // 调用HasCamera的方法
  16:     }
  17: });
  18:  
  19: //-------实例化与调用----------------------------------
  20: var smartphone = Ext.create('Cookbook.Smartphone');
  21: smartphone.useCamera();    // Say Cheese! .... Click!

说明


  1. 定义一个被‘混合’的类HasCamera;
  2. 定义一个类Smartphone,并使用mixins关键字混合HasCamera;
  3. 由于HasCamera已经被‘混合’到了Smartphone中,所以在Smartphone中,已经可以使用HasCamera的所有成员(包括属性)。

总结


‘混合’类与继承看起来类似,但是其主要的目的有所不同。使用‘混合’类的主要目的在于复用,使用继承的目的在于实现面向对象的一些目的(比如多态)。

转载于:https://www.cnblogs.com/sitemanager/archive/2012/11/23/2785064.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值