# qooxdoo

Home » Manual (v2.1.1) » Core

# Core

qooxdoo Core is not a component on its own, but encompasses central features of the qooxdoo class library. The elements described here are available in all qooxdoo components, be it Desktop, Mobile, Website or Server. Among these features are a dedicated class system with custom class properties, data binding and a runtime environment.

We recommend that you at least make your way through the chapters Introduction to Object Orientation, Features of Object Orientation and Classes from the Object Orientation section, which provide the foundation for working with qooxdoo's class system. The other chapters can be read when the need arises, and as reference material for the other components' documentation.

## Object Orientation

- Introduction to Object Orientation
  - Classes
  - Interfaces
  - Mixins
  - Inheritance
  - qooxdoo OO standalone
- Features of Object Orientation
  - Class definition
  - Inheritance
  - Constructor
  - Static members
  - Instance Members
  - Accessing Static Members
  - Calling the Superclass Constructor
  - Calling the Overridden Superclass Method
  - Destructor
  - Properties
  - Interfaces
  - Mixins
  - Attaching mixins to a class
  - Attaching mixins to an already defined class
  - Access
  - Static classes
  - Abstract classes
  - Singletons
  - Immediate access to previously defined members
  - Browser specific methods
  - Events
- Classes
  - Declaration
  - Inheritance
  - Usage of Interfaces and Mixins
  - Summary
- Interfaces
  - Definition
  - Implementation
  - Validation
  - Summary
- Mixins
  - Definition
  - Usage
  - Summary

## Properties

- Introduction to Properties
  - Ordinary Property Handling
  - qooxdoo Property Handling
  - Available Methods
  - Property Groups
- Properties in more detail
  - Declaration
  - Handling changes of property values
  - Init values
  - Checking incoming values
  - Transforming incoming values
  - Validation of incoming values
  - Enabling theme support
  - Working with inheritance
  - Internal methods
  - Defining property groups
  - When to use properties?
- Initialization Behavior
  - The Problem
  - Why not just change this behaviour?
  - When can it be changed?
- Property features summarized
  - Value checks
  - Validation
  - Advanced value handling
  - Convenience
  - Notification
  - Initialization
  - Performance
  - Memory managment

## Environment

- Environment
  - Introduction
  - Motivation
  - Querying Environment Settings
  - Defining New Environment Settings

## Data Binding

- Data Binding
  - Data Binding Introduction
  - Demos, API and CheatSheet
  - Single Value Binding
  - Controller
  - Stores
  - Models
  - Events