原文: http://qooxdoo.org/documentation/0.8/oo_introduction
Introduction to Object Orientation
面向对象介绍
qooxdoo allows you to easily leverage many key concepts of object-oriented programming without bothering about limited native support in JavaScript.
qooxdoo让你很容易的利用许多面向对象编程的关键概念而不用为js有限的原生支持而烦恼
The main actors of qooxdoo OO are:
*
Classes
*
Interfaces
*
Mixins
When trying to get a grip of the framework code, you should probably understand all those three concepts. As a regular application developer you often get by just knowing how to use classes.
当尝试了解框架代码时,你可能会不理解这三个概念,但作为一个常规应用程序的开发者你通常仅需要知道如何使用这些类。
Classes
A “class” is a central concept in most object-oriented languages, and as a programmer you are certainly familiar with it. qooxdoo supports a “closed form” of class declaration, i.e. the entire declaration is provided within a qx.Class.define(name, config) statement, where name is the fully-qualified class name, and config is a configuration map with various keys (or “sections”).
"类"在面向对象的语言里是一个核心概念,作为一个程序员你当然非常熟悉,qooxdoo支持一种"关闭形式"的类声明
,即所有声明都由 qx.Class.define(name,config)来提供,其中参数name是完全限定类名(类名包含其完整命名空间),config是一个具有多个可选key的配置表(或者称为配置节点)
There are several types of classes available, which are specified by the type key within the config map:
*
regular class:常规类
May contain class variables/methods (in a statics section) and instance variables/methods (in a members section). An instance of the class can be created using the new keyword, so a constructor needs to be given in construct.
*
static class:静态类
Only contains class variables and class methods. Often a helper or utility class. Use type : “static”.
*
abstract class:抽象类
Does not allow an instance to be created. Typically classes derive from it and provide concrete implementations. type is abstract.
*
singleton:单例类
Not more than a single instance of the class may exists at any time. A static method getInstance() returns the instance. Use type : “singleton”.
Interfaces
qooxdoo’s interfaces are similar to the ones in Java. Similar to the declaration of class they are created by qx.Interface.define(name, config). They specify an “interface” (typically a set of empty methods), that classes must implement.
qooxdoo的接口和java中的相似, 相似之处在于声明(qooxdoo中由qx.Interfaces.define(name, config)来声明class的interface)。它们指定一个接口(由空方法组成的集合),该类就必须实现
Mixins
Mixins are a very practical concept that not all programming languages provide. Unlike interfaces, which require a class to provide concrete implementations to fulfill the interface contract, mixins do include code. This code needs to be generic, if it is “mixed into” different existing classes. Mixins usually cover only a single aspect of functionality and therefore tend to be small. They are declared by qx.Mixin.define(name, config).
Mixins是一个非常有用的概念,但不是所有语言都支持。不同于接口需要类为接口的契约提供具体的实现,Mixins包含代码,如果这些代码被"mixed into"到不同的已存在的类,它们需要一般化(并入Mixin的类)。
Mixins通常仅能覆盖某一方面功能,因此趋于小巧,它们由qx.Mixin.define(name, config)定义。
Inheritance
Like most programming languages qooxdoo only supports single-inheritance for classes, not multiple-inheritance, i.e. a class can only derive directly from a single super class. This is easily modeled by the extend key in the class declaration map.
和大多数语言一样,qooxdoo仅支持类的单继承,而非多继承,即
Since a class may implement/include one or many interfaces/mixins, which themselves can extend others, some advanced forms of multiple-inheritance could be realized.
具有可继承性的类可以 实现或包含 一个或更多 接口或mixins 来达到多继承的效果 。
分享到:
相关推荐
3. **面向对象编程**:qooxdoo完全基于面向对象的编程模型,允许开发者定义自己的类,继承现有类,并实现多态性。这使得代码结构清晰,易于维护。 4. **数据绑定**:框架提供了数据绑定机制,使得UI组件可以自动...
Qooxdoo的核心是其类库系统,它引入了面向对象编程的概念到JavaScript中。通过类定义,开发者可以创建自定义的组件和模块,这些组件在运行时可以通过继承和组合来扩展和重用。类库包含了丰富的UI组件,如按钮、表单...
通过其面向对象的编程模型,您可以构建丰富的交互式应用程序(RIA),用于移动设备的类似于本机的应用程序,轻量级的传统Web应用程序,甚至可以在浏览器外部运行的应用程序。 您可以利用其集成的工具链来开发和部署...
1. **类系统**:qooxdoo采用面向对象编程模型,提供强大的类系统,支持继承、封装和多态性,使JavaScript代码更具有结构和可维护性。 2. **源码到源码编译器**:qooxdoo包含一个源码到源码的编译器,能够将开发者...
1. **对象导向编程**:qooxdoo基于面向对象的编程模型,允许开发者使用类和对象的概念来构建JavaScript代码,提高代码的可重用性和可维护性。 2. **编译器**:qooxdoo的编译器将源代码转换为优化的JavaScript,提高...
qooxdoo框架采用了面向对象的方法,具有类、接口、混入(Mixins)和属性等面向对象编程的核心概念。这些编程范式提供了一种组织和封装应用程序代码的方式,有助于提升代码的可读性和可维护性。对象属性是qooxdoo中的...
**Qooxdoo 4.1:面向对象的JavaScript富客户端开发框架** Qooxdoo是一个强大且功能丰富的JavaScript框架,特别设计用于构建富互联网应用程序(RIA)。它以面向对象的编程模型为核心,为开发者提供了丰富的工具和库...
它通过依赖注入(DI)和面向切面编程(AOP)来管理组件,确保代码的解耦和模块化。Spring MVC的主要组件包括DispatcherServlet、Controller、ViewResolver和ModelAndView等。 1. **DispatcherServlet**:它是Spring...
Qooxdoo是一个面向对象的JavaScript库,它提供了一个强大的类系统,允许开发者以面向对象的方式编写代码。它包含了大量的预定义类,如UI组件、数据模型、动画和网络通信,这些都可以通过继承和组合来扩展和定制。 ...
qooxdoo采用面向对象的编程方式,这意味着开发者可以利用类、继承、封装和多态等概念来组织代码。这种模型使得代码结构更加清晰,易于理解和维护。通过定义类和对象,开发者可以创建复杂的业务逻辑和用户界面,同时...
利用面向对象的JavaScript允许开发令人印象深刻的跨浏览器的应用。没有HTML,CSS知识,也不是必要的。它包括一个独立于平台的开发工具链,一个最先进的图形用户界面工具和先进的客户端与服务器之间的通讯层。
- 基于面向对象技术,提供类和 API。 - 支持完整的 Windows 桌面系统,包括菜单、表单、表格、滑动条等功能。 - 开发 zero-footprint SOA 客户端应用的理想选择。 - 内置对 XML、SOAP 和 XML-RPC 的支持。 - ...
**qooxdoo**是一个开源的JavaScript框架,它不仅提供了面向对象的编程模型,还包含了丰富的UI组件库和一套强大的命令行工具。通过qooxdoo,开发者可以构建高性能、跨平台的Web应用程序。而**QXDesigner**则作为...
利用面向对象的JavaScript允许开发令人印象深刻的跨浏览器的应用。没有HTML,CSS知识,也不是必要的。它包括一个独立于平台的开发工具链,一个最先进的图形用户界面工具和先进的客户端与服务器之间的通讯层。
qooxdoo的核心优势在于其面向对象的编程模型和组件系统,允许开发者构建复杂且可复用的用户界面。然而,对于三维图形处理,qooxdoo自身并不提供直接支持。这就是QxThree插件的用武之地。它允许开发者在qooxdoo应用...
- QooXdoo是一个面向对象的JavaScript库,它的Tree Widget采用OOP风格编写。 - 这个树控件允许自定义样式,可以模仿文件系统的视觉效果。 - 支持动态添加子节点和键盘导航,增强了用户体验。 3. **jsTree** - ...
1. **类系统**:Qooxdoo引入了面向对象的编程模型,允许开发者使用类和继承来组织代码。 2. **DOM抽象**:通过自己的虚拟DOM,Qooxdoo提供了高效的UI更新机制。 3. **主题和皮肤**:支持自定义主题和样式,使得应用...
在JavaScript标签的背景下,QooxDoo的强项在于它提供了面向对象的编程模型,允许开发者使用类和继承来构建复杂的JavaScript应用。它的API设计得非常模块化,使得代码可以被轻松地重用和扩展。QooxDoo还具有强大的...
该框架支持Java、ActiveX、Flash等多种插件,并且具有面向对象的特性。 - **特性**: - 支持Zero-Footprint(零足迹)SOA客户端选择; - 提供丰富的API接口; - 支持XML、SOAP、XML-RPC等多种数据格式; - 不...
10. **Archetype** - Archetype是一个面向对象的JavaScript框架,它与Prototype有相似之处,但更强调代码的可读性和模块化。它有自己的组件管理系统,仅初始化页面需要的部分。 11. **Rico** - Rico是一个基于现有...