Java: füge zwei Objekte hinzu

7

Ich machte ein Projekt in Greenfoot und ich machte eine imaginäre Zahlenklasse. In meinem Projekt musste ich zwei imaginäre Objekte addieren (oder subtrahieren), gibt es eine Möglichkeit, zwei Objekte hinzuzufügen? So würde es in einer perfekten Welt aussehen:

%Vor%

Ist das möglich?

    
Pavel 20.04.2014, 04:20
quelle

5 Antworten

3

Java hat keinen Operator überladen .

Zum Beispiel wäre BigDecimal viel populärer, wenn Sie a + b anstelle von a.add(b) schreiben könnten.

Weg 1 .

%Vor%

Methode:

%Vor%

Weg 2 .

%Vor%

Methode:

%Vor%

Das Überladen von Operatoren hätte das Design definitiv komplexer gemacht als ohne es, und es hätte möglicherweise zu komplexeren Compilern geführt oder verlangsamt die JVM.

    
loknath 20.04.2014, 05:02
quelle
8

Was Sie beschreiben, heißt "Operator overloading" und kann in Java nicht ausgeführt werden (zumindest von Programmierern wie Sie und mir; die Entwickler haben freie Hand dies zu tun und taten dies mit der String-Klasse). Stattdessen können Sie eine add -Methode erstellen und Folgendes aufrufen:

%Vor%     
ApproachingDarknessFish 20.04.2014 04:23
quelle
5

Versuchen Sie es so.

%Vor%

Wenn Sie Object hinzufügen möchten, können Sie eine Methode zum Hinzufügen erstellen.

%Vor%

Und erstelle ein Objekt von diesem

%Vor%     
coder-croc 20.04.2014 04:21
quelle
3

Es ist möglich, in C ++, aber nicht in Java, eine Funktion addImaginary(Imaginary, Imaginary) zu definieren, die zwei Imaginarys hinzufügt und sie im Objekt speichert und die Methode aufruft.

Es wird wie folgt aussehen:

%Vor%

Aber es liegt an Ihnen, wie Sie die Funktion definieren, es kann auch wie folgt gemacht werden:

%Vor%     
Ved 20.04.2014 04:23
quelle
3

Java unterstützt kein benutzerdefiniertes Überladen von Operatoren. Sie können jedoch eine Methode in Ihrer Imaginary -Klasse erstellen :

%Vor%

Sie können es also wie folgt nennen:

%Vor%     
Christian 20.04.2014 04:24
quelle

Tags und Links