Metaclass
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. Metaclasses can be implemented by having classes be first-class citizens, in which case a metaclass is simply an object that constructs classes. Each language has its own metaobject protocol, a set of rules that govern how objects, classes, and metaclasses interact.
Q79872
object-oriented programming
Concept
Q4479242
class
Concept
Q9143
programming languages
Concept
Q303462
first-class citizens
Concept
Q602271
metaobject protocol
UNK
Q1924819
Metaclass
Concept
field of work
subclass of
use