Kovarianz und Kontravarianz
Sign in to saveAlso known as bivariance, nonvariance, bivariant, nonvariant, invariance, invariant, covariance, covariant
relationship between a generic type or a function and a component type on subtyping
Wikidata facts
- Instance of
- quality
Show 2 more facts
- facet of
- generic programming
- characteristic of
- type constructor
Sources (1)
via Wikidata · CC0
Article · Deutsch
In der objektorientierten Programmierung unterscheidet Kovarianz und Kontravarianz, ob ein Aspekt (d. h. eine Typdeklaration) gleichartig der Vererbungsrichtung (kovariant) oder entgegengesetzt zu dieser (kontravariant) ist. Liegt in der Unterklasse keine Änderung gegenüber der Oberklasse vor, wird das als Invarianz bezeichnet. Den Begriffen liegen die Überlegungen des Ersetzbarkeitsprinzips zugrunde: Objekte der Oberklasse müssen durch Objekte einer ihrer Unterklassen ersetzbar sein. Das bedeutet zum Beispiel, dass die Methoden der Unterklasse mindestens die Parameter akzeptieren müssen, die die Oberklasse auch akzeptieren würde (Kontravarianz). Die Methoden der Unterklasse müssen ebenfalls Werte zurückliefern, die mit der Oberklasse vereinbar sind, also nie allgemeineren Typs sind, als der Rückgabetyp der Oberklasse (Kovarianz).
Abstract from DBpedia / Wikipedia · CC BY-SA