Jump to: navigation, search

Difference between revisions of "MetaClasses"


Line 4: Line 4:
 
Each language has its own metaobject protocol, a set of rules that govern how objects, classes, and metaclasses interact.
 
Each language has its own metaobject protocol, a set of rules that govern how objects, classes, and metaclasses interact.
  
[[Namespaces]] are often used as identifiers in Metaclasses, to distinguish different classes.
+
Often [[Namespaces]] are used as identifiers in Metaclasses, to distinguish different classes.

Revision as of 08:04, 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.