Metaklasse: Unterschied zwischen den Versionen
Kowa (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Kowa (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
=Definition (von W. Kowarschick)<ref>[[Kowarschick, W.: Multimedia-Programmierung]]</ref>= | ==Definition (von W. Kowarschick)<ref>[[Kowarschick, W.: Multimedia-Programmierung]]</ref>== | ||
= | ===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=== | ||
Und so weiter ... | Und so weiter ... | ||
=Bemerkungen= | ==Bemerkungen== | ||
Viele objektorientierten Systeme unterstützen keine Metaklassen. In diesen Systemen wird eine [[Klasse (OOP)|Klasse] als ein spezielles [[Objekt (OOP)|Objekt]] | 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. | aufgefasst, das direkt, d.h. ohne Zuhilfenahme einer anderen Klasse, definiert werden muss. | ||
Zeile 22: | Zeile 21: | ||
Komplexere Metaklassenhierachien oder gar Metametaklassen gibt es dagegen nur sehr selten. | Komplexere Metaklassenhierachien oder gar Metametaklassen gibt es dagegen nur sehr selten. | ||
= | |||
=Quellen= | =Quellen== | ||
*[[Kowarschick, W.: Multimedia-Programmierung]] | *[[Kowarschick, W.: Multimedia-Programmierung]] | ||
<noinclude>[[Kategorie:Objektorientierte Programmierung]] | <noinclude>[[Kategorie:Objektorientierte Programmierung]] | ||
[[Kategorie:Glossar | [[Kategorie:Glossar]] | ||
[[en:Class (OOP)]] | [[en:Class (OOP)]] | ||
[[Kategorie:Kapitel:Multimedia-Programmierung]] | [[Kategorie:Kapitel:Multimedia-Programmierung]] | ||
{{{{SITENAME}}-konformer Artikel}}</noinclude> | {{{{SITENAME}}-konformer Artikel}}</noinclude> |
Version vom 3. August 2019, 14:53 Uhr
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. =