Metaklasse: Unterschied zwischen den Versionen
Kowa (Diskussion | Beiträge) (Weiterleitung nach Klasse (OOP)#Metaklasse erstellt) |
Kowa (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
=Definition (von W. Kowarschick)<ref>[[Kowarschick, W.: Multimedia-Programmierung]]</ref>= | |||
=Definitionen= | |||
==Metaklasse== | |||
Eine [[Klasse (OOP)|Klasse], deren [[Klassenextension|Extension]] zu jedem Zeitpunkt ausschließlich Klassen(objekte) enthält, heißt '''Metaklasse'''. | |||
==Metametaklasse== | |||
Eine [[Klasse (OOP)|Klasse], deren [[Klassenextension|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 (OOP)|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 (OOP)|Objekt]] und dort insb. den [[Objekt (OOP)#Klassen|Abschnitt „Klassen“]]). | |||
Andere objektorientierte Systeme unterstützen genau eine Metaklasse, die häufig den Namen <code>Class</code> hat und deren Extension alle | |||
Klassenobjekte (evtl. sogar <code>Class</code> selbst) enthält. | |||
Komplexere Metaklassenhierachien oder gar Metametaklassen gibt es dagegen nur sehr selten. | |||
=Quellen= | |||
*[[Kowarschick, W.: Multimedia-Programmierung]] | |||
<noinclude>[[Kategorie:Objektorientierte Programmierung]] | |||
[[Kategorie:Glossar]][[Kategorie:Programmierung]] | |||
[[en:Class (OOP)]] | |||
[[Kategorie:Kapitel:Multimedia-Programmierung]] | |||
{{{{SITENAME}}-konformer Artikel}}</noinclude> |
Version vom 25. Februar 2011, 14:13 Uhr
Definition (von W. Kowarschick)[1]
Definitionen
Metaklasse
Eine [[Klasse (OOP)|Klasse], deren Extension zu jedem Zeitpunkt ausschließlich Klassen(objekte) enthält, heißt Metaklasse.
Metametaklasse
Eine [[Klasse (OOP)|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.