Polymorphie von Operatoren in VBA [] (Polymorphie von Operatoren in VBA), Lektion, Seite 722878
https://www.purl.org/stefan_ram/pub/polymorphie_operatoren_vba (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
VBA-Kurs

Polymorphie von Operatoren in VBA 

Ein mit einem Minuszeichen gebildeter Operatorausdruck hat denselben  Typ wie der Ausdruck hinter dem Minuszeichen (falls dies »Integer« oder »Double« ist). Dafür schreiben wir symbolisch auch kurz:

Typregeln

- Integer = Integer
- Double = Double

Zur Ermittlung des Integer -Wertes von »-65« wird in der Regel von VBA  intern ein anderes Unterprogramm (=Programm, internes Verfahren) verwendet als zur Ermittlung des Double -Wertes »-65#«. Der Operator »-« steht also für zwei verschiedene  Unterprogramme: Für das Unterprogramm zum Wechsel des Vorzeichens eines Integer -Wertes und für das Unterprogramm zum Wechsel des Vorzeichens eines Double -Wertes. Das richtige Unterprogramm wird bei der Übersetzung oder Ausführung des Programms an Hand des Typs des Operanden ausgewählt.

Dies kann man damit vergleichen, daß zum Waschen von Wäsche vom Typ „Kochwäsche“ auch ein anderes Waschprogramm verwendet wird als zum Waschen von Wäsche vom Typ „Feinwäsche“, obwohl in beiden Fällen dasselbe Verb „waschen“ gebraucht wird.

Direktbereich
? -65%

-65 

? -65#

-65 

Die Möglichkeit, einen Operator mit mehreren verschiedenen  Typen so zu verwenden, daß jeweils ein für den Typ passendes Unterprogramm ausgewählt wird, wird auch als Polymorphie  bezeichnet, der Operator wird dann polymorph  (wörtlich „vielgestaltig“, dabei wird mit „Gestalt“ der Typ gemeint) genannt.

Polymorphie: zum Operator »-« gehören zwei verschiedene Programme
- Integer -->  Vorzeichenwechselprogramm für Integer-Werte
- Double --> Vorzeichenwechselprogramm für Double-Werte

Der Sinn von Datentypen ist es gerade, es zu erlauben, zu erkennen, ob die Anwendung eines Operators auf einen Ausdruck überhaupt  zulässig ist, und dann gegebenenfalls, durch welches  Unterprogramm das Ergebnis berechnet werden soll. Ohne Datentypen und Polymorphie müßte der Programmierer diese Arbeit erledigen, indem er für Integer -Numeralia einen anderen  Operator verwendet als für Double -Numeralia.

Ohne  Polymorphie wären verschiedene  Operatorzeichen notwendig
⊟ 65%
⊖ 65#

Übungsfragen

[?]   Typergebnisse

Welchen Datentyp haben die folgenden Ausdrücke jeweils?

A »-2%«

B »-2#«

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 stefanram722878 stefan_ram:722878 Polymorphie von Operatoren in VBA Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd722878, slrprddef722878, 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_operatoren_vba