Java-Forum.org  
Zurück   Java-Forum.org > >

Java Basics - Anfänger-Themen: Gegenteil von Setter-Methoden

Fragen ausschließlich zu Java-Grundlagen von Ein- und Umsteigern

Antwort     Ist dieses Thema erledigt?
Themen-Optionen Thema durchsuchen Ansicht
Alt 11.01.2012, 14:55   #1
propra
 
Gegenteil von Setter-Methoden - Standard Gegenteil von Setter-Methoden

Hallo zusammen,

manchmal benötige eine Variable, um anzuzeigen, ob etwas gesetzt wurde. Z.B., ob etwas ausgewählt wurde.
Dann muss ich, wenn ich die Auswahl aufheben möchte, natürlich auch diesen Wert löschen.
Also kommt so etwas hier heraus:
Java Code:
  1. public void setIsSomethingSet(boolean bool) {
  2.         somethingToSet = bool;
  3.     }
Jetzt empfinde ich diese Konstruktion als komisch und das ist eigentlich oft ein Zeichen dafür, dass es falsch ist bzw. cleverer gelöst werden kann.
Kann mir jemand verraten, wie man solche Situationen am besten löst?

Vielen Dank
 
Alt 11.01.2012, 14:58   #2
 
Gegenteil von Setter-Methoden - Standard AW: Gegenteil von Setter-Methoden

Java Code:
  1. public void setSomethingToSet(boolean bool) {
  2.         somethingToSet = bool;
  3.     }

Das is lässt man in der Regel weg.
 
Alt 11.01.2012, 14:59   #3
 
Gegenteil von Setter-Methoden - Standard AW: Gegenteil von Setter-Methoden

grundsätzlich besteht natürlich auch die Möglichkeit, in der Variablen selbst das Nicht-Gesetzt-Seit auszudrücken,
durch null-Wert oder eine bestimmte Konstante,
für primitive Datentypen sicherlich schwieriger, da gibts noch 0 oder -1, bei boolean wirds haarig
 
Alt 11.01.2012, 15:02   #4
 
Gegenteil von Setter-Methoden - Standard AW: Gegenteil von Setter-Methoden

Wenns dir nur darum geht die Variable somethingToSet "umzudrehen" dann könnte man auch sowas machen:
Java Code:
  1. public void flipSomething() {
  2.     something = !something;
  3. }
Dann muss der Aufrufer sich nicht darum kümmern den aktuellen Status zu holen.

Ansonsten, siehe Syms antwort. Das ist dann nen normaler setter für nen boolean wert.
 
Alt 11.01.2012, 15:03   #5
 
Gegenteil von Setter-Methoden - Standard AW: Gegenteil von Setter-Methoden

Bei Booleans bietet es sich an, statt der setter-Syntax einfac zwei Methoden enable und disable zu bauen. Etwa so:
Java Code:
  1. public class MyClas {
  2.  
  3.   private boolean myBoolean;
  4.  
  5.   /* Setter und Getter nach Bean-Konvention */
  6.   public void setMyBoolean(final boolean theBoolean) {
  7.     this.myBoolean = theBoolean;
  8.   }
  9.  
  10.   public boolean getMyBoolean() {
  11.     return this.myBoolean;
  12.   }
  13.  
  14.   /* Bei booleans darf der "getter" auch mit "is" beginnen, also: */
  15.   public boolean isMyBoolean() {
  16.     return this.myBoolean;
  17.   }
  18.  
  19.   /* Und nun die Schalter-Methoden */
  20.   public void enableMyBoolean() {
  21.      this.myBoolean = true;
  22.   }
  23.  
  24.   public void disableMyBoolean() {
  25.     this.myBoolean = false;
  26.   }
  27.  
  28.   public void flipMyBoolean() {
  29.     this.myBoolean = !this.myBoolean;
  30.   }
  31.  
  32. }
 
Alt 11.01.2012, 15:08   #6
 
Gegenteil von Setter-Methoden - Standard AW: Gegenteil von Setter-Methoden

@nillehammer
6 methoden fuer ein boolean ?!

mhm

Java Code:
  1. public class MyClas {
  2.   private boolean myBoolean;
  3.  
  4.   public boolean isMyBoolean() {
  5.     return this.myBoolean;
  6.   }
  7.  
  8.   public void setMyBoolean(final boolean theBoolean) {
  9.     this.myBoolean = theBoolean;
  10.   }
mehr brauchts nicht.

selbst bei flipMyBoolean bin ich nicht so ueberzeugt, da der aufrufer keine ahnung hat in welchen Zustand sich myBoolean befindet und es gewiss zu code ala
Java Code:
  1. if (myClass.isMyBoolean()) {
  2.    myClass.flipMyBoolean();
  3. }
kommt (bzw mit der negation).
 
Alt 11.01.2012, 15:16   #7
 
Gegenteil von Setter-Methoden - Standard AW: Gegenteil von Setter-Methoden

Ja, wenns zu so nem Code kommt, dann ist nen normaler setter sicherlich die bessere Wahl
Es kommt halt wie gesagt drauf an in welchem Kontext man den boolean nutzt. Du hast aber recht, in der Regel tuts nen gewöhnlicher setter.
 
Alt 11.01.2012, 15:16   #8
 
Gegenteil von Setter-Methoden - Standard AW: Gegenteil von Setter-Methoden

Zitat: bygones
@nillehammer
6 methoden fuer ein boolean ?!
propra hat nach möglichen Alternativen zu der normalen Setter-Syntax gefragt. Die hab ich genannt. Was er davon benutzt (sicher nicht alles), kann er sich dann selbst aussuchen. Und flips hab ich im Zusammenhang mit GUI-Elementen, die man auf- und zuklappen kann schon selbst oft benutzt. Da ist es mir nämlich egal, wie der aktuelle Zustand ist, ich will einfach, dass er sich ändert.
 
Alt 11.01.2012, 15:20   #9
HimBromBeere
 
Gegenteil von Setter-Methoden - Standard AW: Gegenteil von Setter-Methoden

Warum kümmerst du dich um die Verwaltung des Wertes (gesetzt/ nicht gesetzt) nicht in der set-Funktionen deines Objektes?
Wenn du z.B. eine Variable int groesse hast und eine boolean bSet = false
dann schreibst du
Java Code:
  1. void setGroesse(int groesse) {
  2.     this.groesse = groesse;
  3.     this.bSet = true;
  4. }
  5.  
  6. boolean isSet() {return this.bSet;}
  7. void disable() {this.bSet = false;}

wenn du dann in einer Auswahl eine andere Option auswählst, musst du nur mit diable() die aktuelle verwerfen...
 
Alt 11.01.2012, 15:35   #10
 
Gegenteil von Setter-Methoden - Standard AW: Gegenteil von Setter-Methoden

Zitat: nillehammer
Beitrag anzeigen
propra hat nach möglichen Alternativen zu der normalen Setter-Syntax gefragt.
er hat nicht nach Alternativen gefragt, sondern wie man es am besten loesen kann.

Zitat: nillehammer
Beitrag anzeigen
Und flips hab ich im Zusammenhang mit GUI-Elementen, die man auf- und zuklappen kann schon selbst oft benutzt. Da ist es mir nämlich egal, wie der aktuelle Zustand ist, ich will einfach, dass er sich ändert.
Und das mit der GUI ist schon richtig, nur ist das auch nur dort und sollte auch nur dort bleiben
 
Antwort     Ist dieses Thema erledigt?

Zurück   Java-Forum.org > >

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Ähnliche Themen: Gegenteil von Setter-Methoden
(Erste Schritte) Verständnisfrage: Getter und Setter Methoden
Verständnisfrage: Getter und Setter Methoden: Hallo Leute! Nach viel zu langer Zeit und...
boolean bei Setter und getter methoden
boolean bei Setter und getter methoden: Hallo Leute, ich habe klasse registrierte...
immer Setter-Methoden verwenden?
immer Setter-Methoden verwenden?: Hallo, in den Lehrbuchbeispielen sehen...
Setter/Getter MEthoden testen
Setter/Getter MEthoden testen: Hallo, ich beschäftige mich (notgrdrungen!)...


Sie betrachten gerade Gegenteil von Setter-Methoden


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2014, vBulletin Solutions, Inc.