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

Class enchant.Class

Eine Klasse für Klassen, die Vererbung unterstützen.

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)
Wendet das übergebene MixingRecipe auf die Zielklasse an, erstellt eine neue Klassendefinition und liefert diese als Rückgabewert zurück.
<static>  
enchant.Class.create(superclass, definition)
Erstellt eine neue Klasse Wenn eine Klasse definiert wird, die von einer anderen Klasse erbt, wird der Konstruktor der Basisklasse als Standard definiert.
<static>  
enchant.Class.getInheritanceTree()
<static>  
enchant.Class.mixClasses(firstClass, secondClass, boolean, Function)
Erstellt ein MixingRecipe aus der "secondClass" Klasse, wendet dieses auf die "firstClass" Klasse an und liefert das Ergebnis daraus zurück.
<static>  
enchant.Class.mixClassesFromRecipe(firstClass, secondClass, recipe, Function)
Nutzt das gegebene MixingRecipe, wendet es auf die "firstClass" Klasse an und liefert das Ergebnis daraus zurück - das MixingRecipe sollte der secondClass entsprechen.

Class Detail

enchant.Class(superclass, definition)
Parameters:
{Function} superclass Optional
Die Klasse, deren Klassendefinition die neue Klasse erben wird.
{*} definition Optional
Klassendefinition.

Method Detail

  • <static> {Function} enchant.Class.applyMixingRecipe(target, source)
    Wendet das übergebene MixingRecipe auf die Zielklasse an, erstellt eine neue Klassendefinition und liefert diese als Rückgabewert zurück. Die Zielklasse wird nicht modifiziert.
    Siehe auch: 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 Funktion die mit enchant.Class erstellt wurde>} target
    Die Klasse auf die das MixingRecipe angewendet wird.
    {enchant.Class.MixingRecipe} source
    Das MixingRecipe, welches genutzt wird um der Zielklasse neue Funktionalität zu verleihen.
    Returns:
    {Function<constructor Funktion die mit enchant.Class erstellt wurde>} Die Klasse, welche das Ergebnis des Mixens der Zielklasse (target) mit dem Rezept (source) darstellt.
  • <static> enchant.Class.create(superclass, definition)
    Erstellt eine neue Klasse Wenn eine Klasse definiert wird, die von einer anderen Klasse erbt, wird der Konstruktor der Basisklasse als Standard definiert. Sollte dieser Konstruktor in der neuen Klasse überschrieben werden, sollte der vorherige Konstruktor explizit aufgerufen werden, um eine korrekte Klasseninitialisierung sicherzustellen.
    var Ball = Class.create({ // definiert eine unabhängige Klasse.
        initialize: function(radius) { ... }, // Methodendefinitionen
        fall: function() { ... }
    });
    
      var Ball = Class.create(Sprite);  // definiert eine Klasse die von "Sprite" erbt.
      var Ball = Class.create(Sprite, { // definiert eine Klasse die von "Sprite" erbt.
          initialize: function(radius) { // überschreibt den Standardkonstruktor.
              Sprite.call(this, radius * 2, radius * 2); // Aufruf des Konstruktors der Basisklasse.
              this.image = core.assets['ball.gif'];
          }
      });
    Parameters:
    {Function} superclass Optional
    The class from which the new class will inherit the class definition.
    {*} definition Optional
    Class definition.
  • <static> {Function[]} enchant.Class.getInheritanceTree()
    Parameters:
    {Function}
    Returns:
    {Function[]}
  • <static> {Function} enchant.Class.mixClasses(firstClass, secondClass, boolean, Function)
    Erstellt ein MixingRecipe aus der "secondClass" Klasse, wendet dieses auf die "firstClass" Klasse an und liefert das Ergebnis daraus zurück. Das Standardverhalten dabei ist, alle Funktionen und Properties der "secondClass" Klasse, einschließlich der Funktionen und Properties in deren Superklassen zu nehmen und diese in der Zielklasse beim mixen zu dekorieren.
    Methoden welche dekoriert werden, rufen automatisch die Methoden der sourceClass und der Zielklasse des Mixens, mit Hilfe des _mixing Properties, auf. Daher muss dies nicht selbst berücksichtigt werden.

    Des Weiteren wird eine Standard-Initialisierungsmethode, welche die Initialisierungsmethode beider Klassen aufruft, hinzugefügt. Die Signatur für diese Standard-Initialisierungsmethode ist:
    ([firstClass Konstruktor Arg 1],...,[firstClass Konstruktor Arg n],[secondClass Konstruktor Arg 1],...[secondClass Konstruktor Arg n])

    Beide Klassen werden nicht verändert.

    Siehe auch: 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 Funktion die mit enchant.Class erstellt wurde>} firstClass
    Die Klasse auf die das MixingRecipe angewendet wird.
    {Function<constructor Funktion die mit enchant.Class erstellt wurde>} secondClass
    Die Klasse aus der das MixingRecipe erstellt wird.
    boolean Optional
    onlyOwnProperties Wenn dieses Argument true ist, werden Funktionen und Properties der Superklassen der "secondClass" Klasse ignoriert.
    Function Optional
    initializeMethod Falls gegeben, wird diese Methode, anstelle der Standard-Initialisierungsmethode, zum Initialisieren der resultierenden Klasse verwendet.
    Returns:
    {Function<constructor Funktion die mit enchant.Class erstellt wurde>} Die Klasse, welche das Ergebnis des Mixens beider Klassen darstellt.
  • <static> {Function} enchant.Class.mixClassesFromRecipe(firstClass, secondClass, recipe, Function)
    Nutzt das gegebene MixingRecipe, wendet es auf die "firstClass" Klasse an und liefert das Ergebnis daraus zurück - das MixingRecipe sollte der secondClass entsprechen. Eine Standard-Initialisierungsmethode wird hinzugefügt, welche die Initialisierungsmethode beider Klassen aufruft. Die Signatur für diese Standard-Initialisierungsmethode ist:
    ([firstClass Konstruktor Arg 1],...,[firstClass Konstruktor Arg n],[secondClass Konstruktor Arg 1],...[secondClass Konstruktor Arg n])

    Beide Klassen werden nicht verändert.

    Siehe auch: 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 Funktion die mit enchant.Class erstellt wurde>} firstClass
    Die Klasse auf die das MixingRecipe angewendet wird.
    {Function<constructor Funktion die mit enchant.Class erstellt wurde>} secondClass
    Die Klasse die dem MixingRecipe entpsricht, wird für die Standard-Initialisierungsmethode genutzt.
    {enchant.Class.MixingRecipe} recipe
    Das MixingRecipe, welches auf die firstClass Klasse angewendet wird - sollte der secondClass entsprechen.
    Function Optional
    initializeMethod Falls gegeben, wird diese Methode, anstelle der Standard-Initialisierungsmethode, zum Initialisieren der resultierenden Klasse verwendet.
    Returns:
    {Function<constructor Funktion die mit enchant.Class erstellt wurde>} Die Klasse, welche das Ergebnis des Mixens beider Klassen mit Hilfe des MixingRecipe darstellt.