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

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


  • 相关阅读:
    OLAP ODS项目的总结 平台选型,架构确定
    ORACLE ORA12520
    ORACLE管道函数
    ORACLE RAC JDBC 配置
    ORACLE RAC OCFS连接产生的错误
    ORACLE 启动和关闭详解
    OLAP ODS项目的总结 起步阶段
    ORACLE RAC 配置更改IP
    ORACLE RAC OCR cann't Access
    ORACLE RAC Debug 之路 CRS0184错误与CRS初始化
  • 原文地址:https://www.cnblogs.com/sitemanager/p/2785064.html
Copyright © 2011-2022 走看看