Addition von eigenen Objekten mit "+" Symbol

Status
Nicht offen für weitere Antworten.
Hi!

Ist es möglich festzulegen was passiert wenn man zwei selbst geschriebene Objekte der gleichen Klasse addiert?

Also mit Hilfe des "+" Zeichens?



Vielen Dank!!
 

hdi

Top Contributor
Du kannst dir natürlich sowas machen:

Code:
class myClass{

    int value;

    public myClass(int value){
           this.value = value;
    }

    public myClass plus(myClass other){
           return new MyClass(this.value + other.value);
    }
}

Die Frage ist: Was ausser Zahlen kann man denn wirklich sinnvoll zusammenzählen?
Ich meine was hattest du denn vor?
 

musiKk

Top Contributor
Doch, ist es. Jeder, der mal größere Formeln mit BigInteger gerechnet hat, wird dir das bestätigen.
 

hdi

Top Contributor
Und dieser Satz soll jetzt einen Sinn geben als Antwort auf was?

Jeder, der mal größere Formeln mit BigInteger gerechnet hat, wird dir das bestätigen
Und BigInteger sind keine Zahlen? Diese Klasse tut ja auch nichts anderes als eine einzige Zahl
zu repräsentieren. Und alle Klassen, die mehr als das beinhalten kannst du schlecht sinnvoll addieren.
 

musiKk

Top Contributor
Ich habe eben irgendwas anderes gelesen. Darauf passte die Antwort. Ich sollte wohl nicht nebenher was schauen, wenn ich hier schreibe.
 

hdi

Top Contributor
Stimmt Vektor würd Sinn machen. Aber naja wie gesagt, ob nun

Code:
v1 + v2

oder

Code:
v1.add(v2)

ist nun nicht so die Welt
 
G

Gast

Gast
Also bei größeren Formeln ist es auf jeden Fall eine Hilfe für die Lesbarkeit, wenn man Operatoren überladen könnte. Ich kenne es persönlich aus C++ mit 3D-Berechnungen. Aber (und endlich kann ich es mal sagen): Aus großer Macht folgt große Verantwortung :D
Es wäre sinnentfreit, wenn man für alles und jeden eine Operatorüberladung nehmen würde. Quasi wie Salz: genau die richtige Menge und es wird besser, zuviel macht alles kaputt.
 

Landei

Top Contributor
Genau. Je mächtiger ein Sprachmittel ist, umso mächtiger kann man sich damit in den Fuß schießen - isso. Andererseits gibt es viele Stellen, wo z.B. ein überladenes + intuitiv verständlich wäre:
- Number-Wrapper, BigInteger, BigDecimal
- Vektoren, Matrizen, komplexe Zahlen, Brüche
- Werte mit Einheiten (der JSR mit Unit, Dimension, Measurable...)
- Listen, Maps, Sets
- StringBuffer, StringBuilder
- Writer, OutputStreams
- Swing-Container
...
 

0x7F800000

Top Contributor
bei ersten drei punkten noch fullAck, bei den letzten vier: hmmm...
Wann hast du denn mit einem ausgabestrom letztes mal irgendeine zwei stockwerke hohe "formel" ausgeschrieben? :D
 

Landei

Top Contributor
Verstehe gar nicht, was ihr wollt.
Wenn etwas hinzugefügt wird, ist das für mich +

Besonders häßlich finde ich die StringBu**er Klassen: Wenn ich bei String "plussen" darf, warum nicht dort?

Warum darf ich zwei Sets nicht zusammenaddieren? "Vereinigungsmenge" ist doch eine wohldefinierte Operation?

Bei Swing würde ich sagen, dass da besser += passen würde:
Code:
Box box = Box.createVerticalBox();
box += new JLabel("hi");
box += new JButton(myAction);
box += new JTextField();
jFrame.getContentPane() += box;
Was ist daran bitteschön eklig?
 

0x7F800000

Top Contributor
zB. dass "+" meistens irgendeine kommutative operation suggeriert. Was
Code:
JPanel += JLabel
sein soll kann man sich noch irgendwie vorstellen, aber was zum teufel wäre
Code:
JLabel += JPanel
oder
Code:
JLabel+JPanel
???
wo "+=" ist, göhört imho zumindest mal ein selbstständiges kommutatives "+" hin.

Ansonsten könnte ich mir noch irgendwie vostellen, dass man ähnlich wie in c++ für ströme irgendsowas wie
Code:
JPanel<<JLabel
definiert. Aber wozu soll das gut sein, wie gesagt: im unterschied zu mathematischen formeln stapeln sich solche ausdrücke niemals über 5 zeilen, daher sehe ich da keinen anlass eine Flut von antiintuitiven operatoren heraufzubeschwören.
 

musiKk

Top Contributor
Vereinigung wird mit einem dem U ähnlichen Symbol beschrieben. Wenn der ganze Quelltext auf einmal von lauter Plussen durchzogen ist, die jedes Mal was anderes bedeuten, dann leidet darunter die Lesbarkeit (Vermutung).

Ich hätte das Plus gerne dort, wo es wirklich genau das bedeutet: z. B. bei BigInteger. Da ist es wirklich eine Addition und keine Operation, die ich irgendwie auf ein Symbol Plus zurückführen muss. Sets werden nunmal nicht addiert. Selbst in der Mathematik, in der man ja oft Sachen gerne schnell aufschreiben will, werden in solchen Fällen i.d.R. neue Operatoren eingeführt (mit Kringeln und so).
 

Ebenius

Top Contributor
@Operatoren für Swing: Der Code wird dadurch nicht übersichtlicher. Außerdem werden in den meisten Fällen Constraints bei add() mitgegeben, was sich mit unären Operatoren nicht abbilden lässt.
 

Templon

Bekanntes Mitglied
Andrey hat gesagt.:
... aber was zum teufel wäre
Code:
JLabel += JPanel

Das gleiche wie bei JLabel.add(JPanel)?

Mann muss ja nicht alle Operatoren überladen, operator+ z.B. würde bei einem JComponent meiner Meinung nach kein Sinn machen. Und ja es ist überhaupt fraglich ob ein Operatoren überladen bei JComponents überhaupt Sinn macht =) Aber bei Vektoren, BigIntiger wünsche ich mir schon so was...
 

SegFault

Bekanntes Mitglied
ich finds lustig das es hier eine Diskussion über den Stil oder nicht guten Stil von Operatorenüberladung gibt. Sollte das nicht jeden selber überlassen sein? Man könnte genauso gut drüber Streiten ob es besser ist jede { oder } auf eine neue Zeile zu machen. Es ist doch dem Programmierer überlassen. Sofern er noch gut Kommentiert was er da macht reicht das aus. Und für manch unleserlichen Quelltext sind nicht nur die Operatorüberladungen zuständig.
Ich Persönlich würde mich freuen wenn es sowas gäbe. In wie fern und weit es dann Anwendung findet ist jeden (Oder auch jeden Softwareentwicklerteam) selber überlassen.
 

Empire Phoenix

Top Contributor
Letztendlich sises ja auch relativ egal ob amn nun + add() oder plus() nimmt, nach dem compiler kommts eh auf das selbe raus, und 99% aller Anwender interresiert ncihtmal die Sprache wodrinne etwas geschreiben ist(geschweige denn dem Stil), solange es akzeptabel läuft.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
volcanos Addition -> List<Integer> mit Arrays.asList() versus List<Integer>ArrayList<>() Java Basics - Anfänger-Themen 14
K Präzedenregeln in Java sagen, dass +expr und -expr vor + von Addition und - von Addition stehen, warum wird dann z. B. a+b als eine Addition ausgeführ Java Basics - Anfänger-Themen 7
J Double Variable und Addition Java Basics - Anfänger-Themen 2
JavaClap "Bruchrechner" liefert Fehler/keine Ausgabe bei Addition und Subtraktion Java Basics - Anfänger-Themen 0
G Java Bruchrechner Addition, Multiplikation... Java Basics - Anfänger-Themen 12
L Addition von Arrays über die Parameterliste Java Basics - Anfänger-Themen 11
Z Matrix Klasse mit Mehrdimensionalen Array (Addition, Multiplikation, to String) Java Basics - Anfänger-Themen 57
L Addition von 1 bis n, in Arrays umstellen Java Basics - Anfänger-Themen 15
E Addition Array Java Basics - Anfänger-Themen 6
M Array Addition Binärzahlen Java Basics - Anfänger-Themen 9
A Binäre Addition Java Basics - Anfänger-Themen 15
M Addition mit hohen Zahlen - Hilfe Java Basics - Anfänger-Themen 5
N Rekursive Addition mit Scanner Java Basics - Anfänger-Themen 12
X Compiler-Fehler Possible loss of precision bei addition von int und char Java Basics - Anfänger-Themen 5
C Logischer Fehler mit Addition von Arrays Java Basics - Anfänger-Themen 3
I Schriftliche Addition Arrays Java Basics - Anfänger-Themen 2
T Operatoren Multiplikation nur mit Addition, Subtraktion und Vergleich Java Basics - Anfänger-Themen 29
B Erste Schritte Addition von double in switch-Anweisung Java Basics - Anfänger-Themen 2
X Addition von Strings Java Basics - Anfänger-Themen 12
X Arrays/Addition Java Basics - Anfänger-Themen 18
R addition von 2 Array Objekten Java Basics - Anfänger-Themen 5
S Multiplikation durch Addition, Subtraktion und Vergleich von Zahlen Java Basics - Anfänger-Themen 14
K Datentypen Kurzform Addition geht, Langform scheitert am Typen Java Basics - Anfänger-Themen 6
A Binäre Addition Java Basics - Anfänger-Themen 5
K char-int-Addition in System.out.print Java Basics - Anfänger-Themen 3
T Matrizzen addition mit zufallszahlen Java Basics - Anfänger-Themen 10
P Addition von 2 Variablen Java Basics - Anfänger-Themen 3
J Vector Addition Java Basics - Anfänger-Themen 5
E Addition von char und int als Zeichen ausgeben Java Basics - Anfänger-Themen 11
J Addition zweier Zahlen Java Basics - Anfänger-Themen 9
C Falsches Ergebnis float-Addition Java Basics - Anfänger-Themen 10
X Addition rekursiv ohne Schleife Java Basics - Anfänger-Themen 10
S Problem bei Matrix Addition Java Basics - Anfänger-Themen 5
E Addition von Arrays Java Basics - Anfänger-Themen 4
H Mysteriöse Ausgaben nach Addition Java Basics - Anfänger-Themen 5
S Addition zweier 32 Byte langer ByteArrays Java Basics - Anfänger-Themen 5
M Ausgabe einer gerade Zahl nur mit Addition,subtraktion und vergleichsoperatoren! Java Basics - Anfänger-Themen 4
J klasse vektor addition Java Basics - Anfänger-Themen 10
S Anzahl der Überträge bei einer Addition ausgeben Java Basics - Anfänger-Themen 8
2 Variablenüberlauf bei Addition, Multiplikation Java Basics - Anfänger-Themen 2
A ungenaue addition Java Basics - Anfänger-Themen 2
A Addition mehrdimmensionaler Arrays - Klausurfrage :-( Java Basics - Anfänger-Themen 3
G Addition von 2 Matrizen Java Basics - Anfänger-Themen 31
J Addition von double values fehlerhaft? Java Basics - Anfänger-Themen 5
H Subtraktion mittels Negierung auf Addition zurückführen Java Basics - Anfänger-Themen 4
W Addition von Arrays bzw. Vektoren Java Basics - Anfänger-Themen 2
V Addition in einem Zweidimensionalenfeld Java Basics - Anfänger-Themen 8
I Liste von Infos von einer eigenen Annotation in Liste speichern Java Basics - Anfänger-Themen 0
L Math.exp also eigenen Algorithmus Java Basics - Anfänger-Themen 2
B Email Client in der eigenen Software einbauen Java Basics - Anfänger-Themen 3
M Ist es möglich den Login in eine Drittseite für den eigenen zu benutzen? Java Basics - Anfänger-Themen 1
C Tabs in JTabbedPane wechseln, wenn Tabs in eigenen Klassen sind Java Basics - Anfänger-Themen 2
K Hashtable mit eigenen Konstruktor Java Basics - Anfänger-Themen 2
K JUnit: Objekte von eigenen Klassen vergleichen...geht nicht Java Basics - Anfänger-Themen 5
A mehrere Panels in eigenen Klasssen in einem Frame Java Basics - Anfänger-Themen 16
S Methoden eine Instanz einer eigenen Klasse als parameter übergeben Java Basics - Anfänger-Themen 9
Thallius Best Practice Events zwischen eigenen Klassen Java Basics - Anfänger-Themen 2
S Eigenen Listener zu eigenen Button! Java Basics - Anfänger-Themen 5
kaoZ Methoden Eigenen Sortier Methode erstellen Java Basics - Anfänger-Themen 5
H Eigenen Listener einbauen Java Basics - Anfänger-Themen 5
O Eigenen Addon-Loader machen? Java Basics - Anfänger-Themen 33
Pentalon Eclipse JUNO keine Vorschläge von Methoden bzw. Interfaces der eigenen Klassen Java Basics - Anfänger-Themen 5
Y Collection der eigenen Klasse Java Basics - Anfänger-Themen 10
M Größer der eigenen .jar ermitteln Java Basics - Anfänger-Themen 4
S JTabbedPane jeder Tab in einer eigenen java Datei? Java Basics - Anfänger-Themen 3
P Klassen Instanz einer Klasse in ihrer eigenen Definition erzeugen? möglich? Java Basics - Anfänger-Themen 4
L eigenen Baum schreiben Java Basics - Anfänger-Themen 5
E incompatible types bei eigenen Klassen Java Basics - Anfänger-Themen 7
W Datentypen Operatoren für eigenen Datentyp nutzen Java Basics - Anfänger-Themen 2
A Array einer eigenen Klasse sortieren Java Basics - Anfänger-Themen 11
N Eigenen Codesinn vergessen Java Basics - Anfänger-Themen 6
xehpuk In JUnit über eigenen Thread testen Java Basics - Anfänger-Themen 3
D Pfad zu "Eigenen Dateien" ermitteln Java Basics - Anfänger-Themen 8
M Verständnis-Probleme mit eigenen Klassen Java Basics - Anfänger-Themen 2
A Null Pointer Exception beim Erstellen eines Arrays aus einer eigenen Klasse Java Basics - Anfänger-Themen 3
F Klasse bzw Objekt in eigenen Thread auslagern Java Basics - Anfänger-Themen 3
M Datentypen Eigenen Datentyp toArray() Java Basics - Anfänger-Themen 4
C0FFEE Anwendung soll eigenen Dateinamen referenzieren Java Basics - Anfänger-Themen 13
Benji0815 Eigenen Listener schreiben Java Basics - Anfänger-Themen 13
Spin Eigenen Abstrakten Datentypen Java Basics - Anfänger-Themen 28
R eigenen Event schreiben Java Basics - Anfänger-Themen 16
S Vector von eigenen Klassen Java Basics - Anfänger-Themen 2
A Mehrere Instanzen einer eigenen Klasse in einem Array Java Basics - Anfänger-Themen 5
D JWS - Resourcen aus eigenen Jar laden? Java Basics - Anfänger-Themen 3
S Java Applet - Verbindung zum Eigenen Server Java Basics - Anfänger-Themen 2
E ArrayList mit eigenen typ serialisieren? Java Basics - Anfänger-Themen 1
Povlsen84 HashSet mit eigenen Datentypen Java Basics - Anfänger-Themen 6
G Protected Variablen außerhalb der eigenen Klassenhierarchie sichtbar Java Basics - Anfänger-Themen 5
M Einfügen eines eigenen Component Java Basics - Anfänger-Themen 21
A Im Chat eigenen Beitrag in Farbe zeigen Java Basics - Anfänger-Themen 8
G Eigenen Code mit einer Lizenz schützen Java Basics - Anfänger-Themen 2
G Vector eigenen Typs mit Daten füllen Java Basics - Anfänger-Themen 20
J Verwendung von eigenen Klassen in JSP Java Basics - Anfänger-Themen 2
B Ergenzungen und oder Updates von eigenen Anwendungen Java Basics - Anfänger-Themen 4
R Einfügen einer eigenen methode in ein Panel Java Basics - Anfänger-Themen 5
spacegaier Problem beim Laden eines Vektors mit eigenen Objekten Java Basics - Anfänger-Themen 4
F ArrayList eines eigenen Datentyps Java Basics - Anfänger-Themen 3
F Array einer eigenen Klasse erstellen. Java Basics - Anfänger-Themen 8
° Zugriff auf ein Objekt der eigenen Klasse Java Basics - Anfänger-Themen 2
F Array einer eigenen Klasse Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben