Metaklasse: Unterschied zwischen den Versionen
Kowa (Diskussion | Beiträge) |
Kowa (Diskussion | Beiträge) |
||
Zeile 32: | Zeile 32: | ||
==Quellen== | ==Quellen== | ||
<references/> | <references/><!-- | ||
<ol start="2"> | <ol start="2"> | ||
<li>[[Kowarschick, W.: Multimedia-Programmierung]]</li> | <li>[[Kowarschick, W.: Multimedia-Programmierung]]</li> | ||
</ol> | </ol>--> | ||
<noinclude>[[Kategorie:Objektorientierte Programmierung]] | <noinclude>[[Kategorie:Objektorientierte Programmierung]] |
Aktuelle Version vom 3. August 2019, 13:55 Uhr
Dieser Artikel erfüllt die GlossarWiki-Qualitätsanforderungen nur teilweise:
Korrektheit: 4 (großteils überprüft) |
Umfang: 2 (wichtige Fakten fehlen) |
Quellenangaben: 2 (wichtige Quellen fehlen) |
Quellenarten: 3 (gut) |
Konformität: 5 (ausgezeichnet) |
Definition (von W. Kowarschick)[1]
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. =