Documentation generator: JsDoc Toolkit 2.4.0
Template: Codeview 1.2
Generated on: 2016-0-4 21:23

Class enchant.Class

クラスのクラス.

Class Summary
Constructor Attributes Constructor Name and Description
 
enchant.Class(superclass, definition)

Method Summary

Method Attributes Method Name and Description
<static>  
enchant.Class.applyMixingRecipe(target, source)
設定されたMixingRecipeを先クラスに実行して、新たなクラスを生成してこのクラスを戻る.
<static>  
enchant.Class.create(superclass, definition)
クラスを作成する.
<static>  
enchant.Class.getInheritanceTree()
クラスの継承関係を取得する.
<static>  
enchant.Class.mixClasses(firstClass, sourceClass, boolean, Function)
secondClassというクルスからMixingRecipeを生成して、firstClassというクラスに実行して、この結果を戻る.
<static>  
enchant.Class.mixClassesFromRecipe(firstClass, sourceClass, recipe, Function)
設定されたMixingRecipeを使用して、firstClassというクラスに実行して、この結果を戻る。設定されたMixingRecipeはsecondClassというクラスに関係があったほうがいい.

Class Detail

enchant.Class(superclass, definition)
Parameters:
{Function} superclass Optional
継承するクラス.
{*} definition Optional
クラス定義.

Method Detail

  • <static> {Function} enchant.Class.applyMixingRecipe(target, source)
    設定されたMixingRecipeを先クラスに実行して、新たなクラスを生成してこのクラスを戻る. 先クラスが変更されない.
    enchant.Class.MixingRecipe を参照してください.
    Defined in: mixing.enchant.js.
         var recipe = new enchant.Class.MixingRecipe({
            // ... see enchant.Class.MixingRecipe
         },{
             // ... see enchant.Class.MixingRecipe
         },{
             // ... see enchant.Class.MixingRecipe
         });
         var NewClass = applyMixingRecipe(Class1,recipe);
    Parameters:
    {Function<constructor enchant.Classで生成された関数>} target
    MixingRecipeを実行される先クラス.
    {enchant.Class.MixingRecipe} source
    先に新しい機能を追加するMixingRecipe.
    Returns:
    {Function<constructor enchant.Classで生成された関数>} sourceという製法とtargetというクラスを混ぜた結果クラス.
  • <static> enchant.Class.create(superclass, definition)
    クラスを作成する. ほかのクラスを継承したクラスを作成する場合, コンストラクタはデフォルトで 継承元のクラスのものが使われる. コンストラクタをオーバーライドする場合継承元の コンストラクタを適用するには明示的に呼び出す必要がある.
    var Ball = Class.create({ // 何も継承しないクラスを作成する
        initialize: function(radius) { ... }, // メソッド定義
        fall: function() { ... }
    });
    
    var Ball = Class.create(Sprite);  // Spriteを継承したクラスを作成する
    var Ball = Class.create(Sprite, { // Spriteを継承したクラスを作成する
        initialize: function(radius) { // コンストラクタを上書きする
            Sprite.call(this, radius * 2, radius * 2); // 継承元のコンストラクタを適用する
            this.image = core.assets['ball.gif'];
        }
    });
    Parameters:
    {Function} superclass Optional
    継承するクラス.
    {*} definition Optional
    クラス定義.
  • <static> {Function[]} enchant.Class.getInheritanceTree()
    クラスの継承関係を取得する.
    Parameters:
    {Function} コンストラクタ.
    Returns:
    {Function[]} 親のコンストラクタ.
  • <static> {Function} enchant.Class.mixClasses(firstClass, sourceClass, boolean, Function)
    secondClassというクルスからMixingRecipeを生成して、firstClassというクラスに実行して、この結果を戻る. デフォルト振舞はsecondClassの全ての関数やプロパティ、スーパークラスの関数やプロパティも使用して、 混ぜる先の関数をラップする(decorate).
    _mixingプロパティでラップされた関数が自動的に、 sourceClassと混ぜる先の関数を呼び出されるので、関係なくてもいい.

    その上、どちらでもクラスの初期化関数を呼び出すデフォルト初期化関数が追加される.このデフォルト初期か関数の書式は:
    ([firstClass コンストラクタ 引数 1],...,[firstClass コンストラクタ 引数 n],[secondClass コンストラクタ 引数 1],...[secondClass コンストラクタ 引数 n])

    どちらでもクラスが変更されない

    enchant.Class.MixingRecipe を参照してください.
    Defined in: mixing.enchant.js.
         var MapGroup = enchant.Class.mixClasses(Map, Group,true);
         var map = new MapGroup(16, 16);
         var SpriteLabel = enchant.Class.mixClasses(Sprite, Label,true);
         var kumaLabel = new SpriteLabel(32,32,'Kuma');
    Parameters:
    {Function<constructor enchant.Classで生成された関数>} firstClass
    MixingRecipeを実行されるクラス.
    {Function<constructor enchant.Classで生成された関数>} sourceClass
    このクラスから、MixingRecipeが生成される.
    boolean Optional
    onlyOwnProperties Trueの場合、スーパークラスの関数やプロパティが無視されない.
    Function Optional
    initializeMethod 設定すると、新しいクラスの初期化にデフォルト初期化関数が使用されないけど、この関数が使用される.
    Returns:
    {Function<constructor enchant.Classで生成された関数>} どちらでもクラスを混ぜた結果クラス.
  • <static> {Function} enchant.Class.mixClassesFromRecipe(firstClass, sourceClass, recipe, Function)
    設定されたMixingRecipeを使用して、firstClassというクラスに実行して、この結果を戻る。設定されたMixingRecipeはsecondClassというクラスに関係があったほうがいい. どちらでもクラスの初期化関数を呼び出すデフォルト初期化関数が追加される. このデフォルト初期か関数の書式は:
    ([firstClass コンストラクタ 引数 1],...,[firstClass コンストラクタ 引数 n],[secondClass コンストラクタ 引数 1],...[secondClass コンストラクタ 引数 n])

    どちらでもクラスが変更されない

    enchant.Class.MixingRecipe を参照してください.
    Defined in: mixing.enchant.js.
         var MapGroup = enchant.Class.mixClasses(Map, Group,true);
         var map = new MapGroup(16, 16);
         var SpriteLabel = enchant.Class.mixClasses(Sprite, Label,true);
         var kumaLabel = new SpriteLabel(32,32,'Kuma');
    Parameters:
    {Function<constructor enchant.Classで生成された関数>} firstClass
    MixingRecipeを実行されるクラス.
    {Function<constructor enchant.Classで生成された関数>} sourceClass
    MixingRecipに関係があるクラス。デフォルト初期化関数に使用される。
    {enchant.Class.MixingRecipe} recipe
    firstClassに実行される製法。 secondClassに関係があったほうがいい.
    Function Optional
    initializeMethod 設定すると、新しいクラスの初期化にデフォルト初期化関数が使用されないけど、この関数が使用される.
    Returns:
    {Function<constructor enchant.Classで生成された関数>} 製法でどちらでもクラスを混ぜた結果クラス.