Zitat von
MaBuSE:
Zitat von
Assarbad:
Den
OOP-Teil hingegen könnte man tatsächlich anpassen, so daß auch Operatoren überladen werden können und Objekte wie Basistypen behandelt werden können
Geht das nicht schon?
Ich dachte ich hätte in Delphi schon mal Operanden überladen.
(muß ich mal nachschauen)
Es gibt ein sehr schönes Beispiel auf
www.delphi-source.de
http://www.delphi-source.de/grundlagen/sprache/operatoren.php
(c) dieses Textes liegt bei
www.delphi-praxis.de
Operatoren überladen
Unter .NET ist es möglich, Operatoren zu überladen. Das bedeutet, dass der Programmierer festlegen kann, was z.B. passiert, wenn zwei Klassen mit dem +-Operator addiert werden. Dazu wird mit der Syntax class operator eine Methode deklariert und implementiert. Der Name der Methode richtet sich nach dem Operator, der überladen werden soll. So lautet der Name für den +-Operator Add, für > GreaterThan und für = Equal. Die weiteren Operatoren-Methodennamen sind in der Hilfe zu finden.
Delphi-Quellcode:
Deklaration:
type
TMyClass = class
class operator Add(a, b: TMyClass): TMyClass;
end;
Implementierung:
class operator TMyClass.Add(a, b: TMyClass): TMyClass;
begin
...
end;
Die Methode Add kann nicht direkt aufgerufen werden. Stattdessen muss das Pluszeichen verwendet werden.
[edit]und ja, das ist Delphi 8[/edit]