Polymorphie in Java [] (Polymorphie in Java), Lektion, Seite 722514
https://www.purl.org/stefan_ram/pub/polymorphie_csharp (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
C#-Kurs

Polymorphie von Operatoren in C♯ 

Die Implementation enthält drei verschiedene Programme für einen Typwechsel: Das Programm »-int« kann das Vorzeichen eines int-Wertes wechseln, das Programm »-double« das Vorzeichen eines double-Wertes und das Programm »-decimal« das Vorzeichen eines decimal-Wertes.

Wenn der Ausdruck »-2« ausgewertet werden soll, dann bildet die Implementation zunächst die Signatur dieses Ausdrucks. Das ist »-int«. Anschließend wird das passende Programm »-int« gestartet, um das Vorzeichen zu ändern. Entsprechend geschieht dies auch für Ausdrücke der beiden anderen Typen »double« und »decimal«.

Polymorphie: zum Operator »-« gehören zwei verschiedene Programme
»-2« --> -int --> Vorzeichenwechselprogramm für int-Werte
»-2.3« --> -double --> Vorzeichenwechselprogramm für double-Werte
»-2.3m« --> -decimal --> Vorzeichenwechselprogramm für decimal-Werte

Der Programmierer muß also nicht selber das passende Programm für den Operator »-« festlegen, sondern es wird an Hand des Typs des Operanden von der Implementation automatisch richtig ausgewählt.

Die Fähigkeit eines Operators, wie »-«, für mehrere Programme zu stehen, die dann an Hand des Typs des Operanden ausgewählt werden, wird Polymorphie  genannt, und der zugehörige Operator wird auch als polymorph  bezeichnet.

Man sagt auch manchmal, der Operator sei überladen, also mit verschiedenen Bedeutungen für verschiedene Typen „beladen“, und nennt diese Überladung eines Operators Operatorüberladung.

Unter Auflösung  verstehen wir, bei einer Mehrdeutigkeit zu erkennen, welche der möglichen Bedeutung genau vorliegt. Eine Überladungsauflösung  besteht darin, bei einer Überladung zu erkennen, welche der verschiedenen Bedeutungen des Überladenen vorliegt.

Datentypen erlauben es, zu erkennen, ob die Anwendung eines Operators auf einen Ausdruck überhaupt  zulässig ist. So kann »-"2"« als Fehler erkannt werden. Außerdem erlauben es Datentypen, wenn die Anwendung als zulässig erkannt wurdem, dem Operator das richtige Programm zuzuordnen, wie eben erklärt wurde. Ohne Datentypen und Polymorphie müßte der Programmierer diese Arbeit erledigen, indem er für int-Numeralia einen anderen  Operator verwendet als für double- oder decimal-Numeralia.

Ohne  Polymorphie wären verschiedene  Operatorzeichen notwendig
65
⊖ 65.0
⊟ 65m

Die Polymorphie „versteckt“ den genauen Typ eines numerischen Operanden gewissermaßen vor dem Programmierer. Dieser muß sich keine Gedanken darüber machen, ob ein Operand den Typ »int«, »double« oder »decimal« hat, denn er kann den Operator »-« gleichermaßen verwenden.

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram722514 stefan_ram:722514 Polymorphie in Java Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd722514, slrprddef722514, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/polymorphie_csharp