Metaklasse: Unterschied zwischen den Versionen
Kowa (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Kowa (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 3: | Zeile 3: | ||
==Metaklasse== | ==Metaklasse== | ||
Eine [[Klasse (OOP)|Klasse], deren [[Klassenextension|Extension]] zu jedem Zeitpunkt ausschließlich Klassen(objekte) enthält, heißt '''Metaklasse'''. | Eine [[Klasse (OOP)|Klasse]], deren [[Klassenextension|Extension]] zu jedem Zeitpunkt ausschließlich Klassen(objekte) enthält, heißt '''Metaklasse'''. | ||
==Metametaklasse== | ==Metametaklasse== | ||
Eine [[Klasse (OOP)|Klasse], deren [[Klassenextension|Extension]] zu jedem Zeitpunkt ausschließlich Metaklassen(objekte) enthält, heißt '''Metametaklasse'''. | Eine [[Klasse (OOP)|Klasse]], deren [[Klassenextension|Extension]] zu jedem Zeitpunkt ausschließlich Metaklassen(objekte) enthält, heißt '''Metametaklasse'''. | ||
==Metametametaklasse== | ==Metametametaklasse== |
Version vom 25. Februar 2011, 14:13 Uhr
Definition (von W. Kowarschick)[1]
Definitionen
Metaklasse
Eine Klasse, deren Extension zu jedem Zeitpunkt ausschließlich Klassen(objekte) enthält, heißt Metaklasse.
Metametaklasse
Eine Klasse, deren Extension zu jedem Zeitpunkt ausschließlich Metaklassen(objekte) enthält, heißt Metametaklasse.
Metametametaklasse
Und so weiter ...
Bemerkungen
Viele objektorientierten Systeme unterstützen keine Metaklassen. In diesen Systemen wird eine [[Klasse (OOP)|Klasse] als ein spezielles Objekt aufgefasst, das direkt, d.h. ohne Zuhilfenahme einer anderen Klasse, definiert werden muss. Dies stellt jedoch keinen Widerspruch zum hier verwendeten Objektbegriff dar (siehe Objekt und dort insb. den Abschnitt „Klassen“).
Andere objektorientierte Systeme unterstützen genau eine Metaklasse, die häufig den Namen Class
hat und deren Extension alle
Klassenobjekte (evtl. sogar Class
selbst) enthält.
Komplexere Metaklassenhierachien oder gar Metametaklassen gibt es dagegen nur sehr selten.