Visual C# 2012 Grundkurs

Operatorüberladung

Testen Sie unsere 1958 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Durch die Verwendung der Operatorüberladung kann die Bedeutung von Operatoren innerhalb einer Klasse für bestimmte Klassen festgelegt werden.

Transkript

In diesem Abschnitt möchte ich mich mit Operaterüberladung beschäftigen. Man kann mit der Operaterüberladun für bestimmte Klassen festlegen, welche Bedeutung Operatoren haben sollen als die ganz normalen Operatoren wie Plus, Minus, Mal und Geteilt durch. Das möchte ich mit einem kurzen Beispiel skizzieren. Also angenommen, ich hätte jetzt hier eine Klasse für komplexe Zahlen. Diese Klasse, der gebe ich jetzt mal einen Konstruktor. Komplette Zahlen bestehen ja immer aus einem realen und imaginären Teil, Also kann ich jetzt hier mal den realen Teil-- und jetzt kann ich ebenso eine komplexe Zahl mit dem Konstruktor anlegen und kann diese Werte hier zuweisen. Hier sollte ein Punkt statt einem Leerzeichen rein und "imaginär equals imaginär". Jetzt könnte man vielleicht noch eine Methode hinzufügen, so eine toString-Methode, da kann ich toString mal überschreiben hier und sage "Return". So eine komplexe Zahl wird immer dargestellt als der Realteil plus I imaginärer Teil. Dieses I ist halt so das große Unbekannte. Also habe ich das jetzt so mit diesem Formatierungsstring dargelegt und gebe jetzt einfach einmal diese beiden Teile der realen Zahl aus. Und jetzt geht es an den eigentlichen Kern der Geschichte, der Rechenoperationen. Ich möchte jetzt einfach nur exemplarisch an dem Beispiel der Addition zeigen, aber die anderen Rechenregeln für komplexe Zahlen würden sich ja dann ähnlich programmieren lassen. Was ich also tue, ist, dass ich eine statische Methode anlege. Diese Methode ist vom Typ "Complex". Also es gibt mir ein Objekt vom Typ "Complex" zurück, das ist dann das Resultat. Und statt dass jetzt diese Methode einen Namen bekommt, nehme ich das Schlüsselwort "Operator" und sage dann, welcher "Operator" überschrieben werden soll. In dem Fall ist es das "+" und jetzt kommt die Parameterliste. Die Parameterliste ist in dem Fall ja auch klar, da es eine Addition ist, ist es ein binärer Operator, der verlangt zwei Seiten, also übergebe ich für diese beiden Seiten des Operators hier einen Complex-Wert. Alles, was ich tun muss, ist in irgendeiner Weise einen Complex-Wert zu berechnen, den ich hier dann auch zurückgebe. Was liegt näher, als einfach das zu tun? So, damit wäre die Arbeit auch schon wieder getan. Jetzt ginge es nur darum, das Ganze mal zu testen. Also gehe ich her und lege zwei komplexe Variablen an. So, das sind meine beiden Zahlen und jetzt kann ich die Summe berechnen. Jetzt kommt das Schöne: Ich kann einfach "num1 + num2" schreiben. Und am Ende kann ich einfach mal die Summe als komplexe Zahl eben mit "toString" auf der Konsole ausgeben. Jetzt schauen wir mal, was passiert. Also das Resultat ist jetzt praktisch "3 +i x 7". Und das war es auch schon wieder. Um es zusammenzufassen: Die Operator-Überladung geht also genauso wie die Definition einer statischen Methode, nur dass man statt dem Methoden-Namen das Schlüsselwort "Operator" und eben den Operator, den man überschreiben will, angibt. Ansonsten funktioniert es ganz genauso wie eine ganz normale Methode. Bei arithmethischen Überladungen von Operatoren empfiehlt es sich, immer ein Objekt von dem Typ der jeweiligen Klasse zurückzugeben. Dann lassen sich Operatoren nämlich verketten. Man könnte also hier jetzt einfach weiterschreiben. Jetzt habe ich das "=" statt dem "+" verwendet. Das würde das Ergebnis jetzt verändern. Das war es zur Operator-Überladung in C#.

Visual C# 2012 Grundkurs

Schreiben Sie eigene Programme in C# und lernen Sie dazu alle Schlüsselwörter und die meisten Konstrukte kennen, um sicher mit dieser Programmierspreche umzugehen.

7 Std. 1 min (44 Videos)
einfach Klasse!
André S.

Vielen Dank für das Tutorial! Vieles kannte ich zwar schon oberflächlich, aber dennoch haben mir die Erläuterungen und Zusammenfassungen sehr viel gebracht. Im Interview sieht man die Begeisterung für das Thema, die auch schon in den Beiträgen rüber kommt. :-)

 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!