Jump to: navigation, search

Difference between revisions of "MetaClasses"


(Generating a metaclass)
Line 8: Line 8:
 
==Generating a metaclass==
 
==Generating a metaclass==
  
 +
To generate a new metaclass just right-click on the sourceclass (e.g., the Baseclass) and choose Derive new object...
 
Will man ein neues Metadatum erstellen, muss man, ausgehend von der Baseclass, Rechts klicken und „Derive new object“ wählen.
 
Will man ein neues Metadatum erstellen, muss man, ausgehend von der Baseclass, Rechts klicken und „Derive new object“ wählen.
 
Anschließend kann im unteren Fenster im Reiter Object der Name des Metadatums geändert werden.
 
Anschließend kann im unteren Fenster im Reiter Object der Name des Metadatums geändert werden.

Revision as of 12:58, 13 January 2012

In object-oriented programming, a metaclass is a class whose instances are classes. Just as an ordinary class defines the behavior of certain objects, a metaclass defines the behavior of certain classes and their instances. Not all object-oriented programming languages support metaclasses. Among those that do, the extent to which metaclasses can override any given aspect of class behavior varies. Each language has its own metaobject protocol, a set of rules that govern how objects, classes, and metaclasses interact.

Often Namespaces are used as identifiers in Metaclasses, to distinguish different classes.

Generating a metaclass

To generate a new metaclass just right-click on the sourceclass (e.g., the Baseclass) and choose Derive new object... Will man ein neues Metadatum erstellen, muss man, ausgehend von der Baseclass, Rechts klicken und „Derive new object“ wählen. Anschließend kann im unteren Fenster im Reiter Object der Name des Metadatums geändert werden.