Gegenteil von Setter-Methoden

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

Fragen ausschließlich zu Java-Grundlagen von Ein- und Umsteigern
12 ...
  1. Gegenteil von Setter-Methoden #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

  2. Gegenteil von Setter-Methoden #2
    Sym

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


    Das is lässt man in der Regel weg.

  3. Gegenteil von Setter-Methoden #3
    SlaterB

    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

  4. Gegenteil von Setter-Methoden #4
    Gast2

    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.

  5. Gegenteil von Setter-Methoden #5
    nillehammer

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

  6. Gegenteil von Setter-Methoden #6
    bygones

    @nillehammer
    6 methoden fuer ein boolean ?!

    mhm

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

    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.  
    2. if (myClass.isMyBoolean()) {
    3. myClass.flipMyBoolean();
    4. }

    kommt (bzw mit der negation).

  7. Gegenteil von Setter-Methoden #7
    Gast2

    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.

  8. Gegenteil von Setter-Methoden #8
    nillehammer

    Zitat Zitat von 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.

  9. Gegenteil von Setter-Methoden #9
    HimBromBeere


    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 [C]int groesse[/C] hast und eine [C]boolean bSet = false[/C]
    dann schreibst du
    Java Code:
    1.  
    2. void setGroesse(int groesse) {
    3. this.groesse = groesse;
    4. this.bSet = true;
    5. }
    6.  
    7. boolean isSet() {return this.bSet;}
    8. void disable() {this.bSet = false;}


    wenn du dann in einer Auswahl eine andere Option auswählst, musst du nur mit diable() die aktuelle verwerfen...

  10. Gegenteil von Setter-Methoden #10
    bygones

    Zitat Zitat von 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 Zitat von 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

12 ...
  • Javavideokurs
    Videokurs
    Dein Weg zum Java-Profi!
    25 Stunden geballtes Java Know-How.

    Videokurs

  • Ähnliche Themen zu Gegenteil von Setter-Methoden
    1. Verständnisfrage: Getter und Setter Methoden
      Von Thoosequa im Forum Java Basics - Anfänger-Themen
      Antworten: 3
      Letzter Beitrag: 12.10.2012, 20:40
    2. boolean bei Setter und getter methoden
      Von nata im Forum Java Basics - Anfänger-Themen
      Antworten: 21
      Letzter Beitrag: 10.12.2010, 15:56
    3. immer Setter-Methoden verwenden?
      Von nossek im Forum Java Basics - Anfänger-Themen
      Antworten: 54
      Letzter Beitrag: 14.08.2010, 09:56
    4. Setter/Getter MEthoden testen
      Von Houly im Forum Java Basics - Anfänger-Themen
      Antworten: 4
      Letzter Beitrag: 29.11.2009, 15:36
    Sie betrachten gerade Gegenteil von Setter-Methoden