Ael.lang.Classクラス
説明
Aelが提供するクラスのメタクラスで、スーパークラスやフィールドの定義情報を持ちます。new演算子によってClassインスタンスを生成することができ、自身もClassインスタンスです。通常、new演算子でインスタンス化すると戻り値はオブジェクト(type(x) === "object")ですが、このクラスはプリミティブの関数型値(typeof(x) === "function")を返します。これはClassインスタンスからnew演算子によって個々のオブジェクトを生成する為です。
var clazz = new Ael.lang.Class(); var object = new clazz(); // clazzは関数型である為、new演算子を用いてインスタンス化できる
Classインスタンスをnew演算子によってインスタンス化した場合、prototypeのinitializeメソッドがコンストラクタとして呼び出されます。initializeメソッドが定義されていない場合は呼び出されません。
instanceプロパティ
metadata
instance metadata([object metadata]) : object
- @version 0.2
- @param {object} [metadata] クラス情報
- @return {object} クラス情報
クラス情報を返す。
引数を指定して呼び出すとクラス情報を変更する。このメソッドはクラス情報に対する特権メソッドです。
prototypeプロパティ
initialize
prototype initialize() : function
- @version 0.2
- @return {function} クラス
クラスを生成して返す。
aelプロパティ
ael
ael ael(string expr) : Ael.lang.Property
- @version 0.4
- @param {string} expr メンバ定義文字列
- @return {Ael.lang.Property} aelプロパティ
クラスからメンバ定義文字列に該当するaelプロパティ定義を返す。
inherit
ael void inherit(Ael.lang.Class|Ael<Ael.lang.Class> superclass) : void
- @version 0.2
- @param {Ael.lang.Class|Ael<Ael.lang.Class>} superclass スーパークラス
引数のスーパークラスをAelオブジェクトが持つクラスで継承する。
instance
ael instance(string expr) : Ael.lang.Property
- @version 0.4
- @param {string} expr メンバ定義文字列
- @return {Ael.lang.Property} instanceプロパティ
クラスからメンバ定義文字列に該当するinstanceプロパティ定義を返す。
properties
ael properties([object properties]) : object
- @version 0.2
- @param {object} [properties] 追加するプロパティを定義したオブジェクト
- @return {object} クラスが持つ全てのプロパティ定義
Aelオブジェクトが持つクラスに引数のオブジェクトに定義されたプロパティを追加する。
引数を未指定の場合はプロパティの追加は行わず、クラスに定義された全プロパティを持つオブジェクトを返す。
prototype
ael prototype(string expr) : Ael.lang.Property
- @version 0.4
- @param {string} expr メンバ定義文字列
- @return {Ael.lang.Property} prototypeプロパティ
クラスからメンバ定義文字列に該当するprototypeプロパティ定義を返す。
static_
ael static_(string expr) : Ael.lang.Property
- @version 0.4
- @param {string} expr メンバ定義文字列
- @return {Ael.lang.Property} staticプロパティ
クラスからメンバ定義文字列に該当するstaticプロパティ定義を返す。
superclass
ael superclass() : Ael.lang.Class
- @version 0.2
- @return {Ael.lang.Class} スーパークラス
Aelオブジェクトが持つクラスのスーパークラスを返す。
スーパークラスがない場合は未定義値を返す。