面向对象的介绍
通过qooxdoo,你可以轻易地使用面向对象编程中的许多关键概念,而不用依赖Javascript中为数不多的固有支持。
qooxdoo面向对象的主要参与者:
Classes
Interfaces
Mixins
如果想要读懂qooxdoo的框架代码,上述的三个概念,你可能都需要掌握。而作为一个普通的应用程序开发人员,
在刚开始接触qooxdoo时,你通常可以先忽略掉interfaces和mixins,只需熟悉classes即可。
Classes
在大多数面向对象编程语言中,“class”是一个核心概念,作为一个程序员,你肯定熟悉它。qooxdoo支持一种闭合式的类声明,即整个声明都包含在qx.Class.define(name, config)语句里。其中name是一个全限定类名,config是带有各种key或section的config map。
通过config map中的type键,可以指定类的类型。目前,qooxdoo有如下四种类的类型可以用:
- regular class: 可能包含class variables/method(申明在statics section中)或者instance variables/methods (申明在 members section中). 此类型的类需要通过new关键字来创建实例,所以需要使用construct键来提供一个构造器。
- static class: 只包含 class variables and class methods,通常用作工具类。使用 type : "static"语句指定。
- abstract class: 不允许创建实例。一般情况下会有类继承它并且提供具体的实现。type是abstract。
- singleton: 任何时候,最多只有一个实例存在。通过静态方法getInstance()获取实例。使用type : "singleton"语句指定
Interfaces