侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

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

2024-05-05 星期日 / 0 评论 / 0 点赞 / 41 阅读 / 2807 字

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的所有成员(包括属性)。

总结


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

广告 广告

评论区