zoukankan      html  css  js  c++  java
  • 『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的所有成员(包括属性)。

    总结


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






    版权声明:

    作者:莫不逢
    出处:http://www.cnblogs.com/sitemanager/
    Github:https://github.com/congjf

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。


  • 相关阅读:
    星巴克——最单纯的SNS应用
    用地图说话:在商业分析与演示中运用Excel数据地图(全彩)
    Ext江湖
    两个概念模型及算法之间的关系
    PageRank 算法
    闭包用法:经典案例
    SNS营销——网商成功之道
    这就是搜索引擎:核心技术详解
    制作自己的数据地图
    认识数据地图
  • 原文地址:https://www.cnblogs.com/sitemanager/p/2785064.html
Copyright © 2011-2022 走看看