im Tiefenverständnis der Zusammenarbeit und Inverting: Die wichtigsten Unterschiede in der Programmierung
Koordination und Wechselrichter sind zwei wichtige Konzepte in der Programmierung.
Kooperation: Die Zuordnungskompatibilität
halten Koordination eignet sich für die Zuordnung von Funktionen, die die Kompatibilität von Objekten beibehalten. Dies bedeutet, dass, wenn das Objekt des Typs x dem Objekt des Typs Y zugewiesen werden kann, das Ergebnis der Anwendung der Zuordnung auf X dem Ergebnis der Anwendung der Funktion auf Y immer zugewiesen werden kann.
Betrachten Sie beispielsweise eine Reihe von Tieren, einschließlich Tier, Tiger, Obst und Banane. Durch die Definition einer Zuordnungsfunktion vom Tier bis zu iEnumerableerhalten wir die folgenden Typen:
<code>{ Animal, Tiger, Fruit, Banana } → { IEnumerable<Animal>, IEnumerable<Tiger>, IEnumerable<Fruit>, IEnumerable<Banana> }</code>
⇒ Inumerable
Unterscheidet sich von der Koordination um, kehrt der Wechselrichter die Zuordnungskompatibilitätsbeziehung um. Dies bedeutet, dass, wenn das Objekt des Typs x dem Objekt des Typs y zugewiesen werden kann, das Ergebnis der Anwendung der Zuordnung auf y dem Ergebnis der Anwendung der Funktion auf X zugewiesen werden kann. Betrachten Sie die Sammlung von ikomener Typ:
In C#beobachten wir die folgende kompatible Beziehung:
<code>{ IComparable<Tiger>, IComparable<Animal>, IComparable<Fruit>, IComparable<Banana> } → { IC<Tiger>, IC<Animal>, IC<Fruit>, IC<Banana> }</code>
Zusammenfassung
<code>Animal ⇒ Tiger Tiger ⇒ Tiger Banana ⇒ Banana Fruit ⇒ Banana Fruit ⇒ Fruit</code>
Das obige ist der detaillierte Inhalt vonKovarianz vs. Kontravarianz: Wie unterscheiden sie sich in der Programmierung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!