Getter: Unterschied zwischen den Versionen

Aus EINI
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „'''Getter''' sind Methoden, die sich aus der Notwendigkeit von setter-Methoden ergeben. Sie geben den Wert eines Attributes eines Objektes zurück. =…“)
 
 
(5 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
'''Getter''' sind Methoden, die sich aus der Notwendigkeit von [[setter]]-Methoden ergeben. Sie geben den Wert eines Attributes eines [[Objekt]]es zurück.
+
'''Getter''' sind [[Methoden]], die sich aus der Notwendigkeit von [[setter]]-Methoden ergeben. Sie geben den Wert eines Attributes eines [[Objekt]]es zurück.
  
 
= Verwendung =
 
= Verwendung =
  
Ein '''Getter''' wird geschrieben, wenn man auf ein [[privat]]es Attribut eines Objektes zugreifen möchte, oder die Existenz eines Attributes dem Verwender einer Programmschnittstelle vorgaukeln möchte. Da man gerne die möglichen Werte eines Attributes kontrollieren möchte, deklariert man ein Attribut lieber als ''privat'' und kontrolliert mögliche Eingaben mit einem '''setter'''. Da die Attributvariable nun privat ist, kann man sie zum Abfragen ihres Wertes nicht mehr direkt verwenden. Deswegen muss zu dem '''setter''' zusätzlich ein '''getter''' programmiert werden, der die Rückgabe des Attributes nach Außen regelt.
+
Ein '''Getter''' wird geschrieben, wenn man auf ein [[privat]]es Attribut eines Objektes zugreifen möchte, oder dem Verwender einer Programmschnittstelle die Existenz eines Attributes vorgaukeln möchte.  
  
Auch können durch '''getter''' nicht real vorhandene Attribute eines Objektes simulieren. So wird z.B. für die Repräsentation eines Würfels nur die Höhe, Breite und Länge gespeichert. Man kann nun dennoch einen '''getter''' für das Volumen programmieren, der die entsprechenden Werte zuerst miteinander Multipliziert und das berechnete Volumen zurück gibt. Somit simuliert man das Vorhandensein eines Attributes für das Volumen, muss sich aber um deren Verwaltung nicht kümmern.
+
Da man die möglichen Werte eines Attributes gerne kontrollieren möchte, deklariert man ein Attribut als ''privat'' und kontrolliert mögliche Eingaben mit einem '''Setter'''. Da die Attributvariable nun privat ist, kann man sie zum Abfragen ihres Wertes nicht mehr direkt verwenden. Deswegen muss zusätzlich ein '''Getter''' programmiert werden, der die Rückgabe des Attributes nach Außen regelt.
 +
 
 +
'''Getter''' können auch nicht real vorhandene Attribute eines Objektes simulieren. So wird z.B. für die Repräsentation eines Würfels nur die Höhe, Breite und Länge gespeichert. Man kann nun einen '''Getter''' für das Volumen programmieren, der die entsprechenden Werte zuerst miteinander multipliziert und das berechnete Volumen zurück gibt. Somit simuliert man das Vorhandensein eines Attributes für das Volumen, muss sich aber um dessen Verwaltung nicht kümmern.
  
 
= Codekonvention =
 
= Codekonvention =
  
'''Getter'''-Methoden haben meistens den Namen <code>getAttributname</code> mit der Signatur <code>public VariablenTyp getAttributname()</code>.
+
'''Getter'''-Methoden haben meistens den Namen <code>getAttributname</code> mit der [[Signatur]] <code>public VariablenTyp getAttributname()</code>.
 +
 
 +
= Beispiele =
 +
 
 +
<source lang="java" title="Willkürliches Beispiel">
 +
public class Foo {
 +
    private int bar;
 +
    private int eastwood;
 +
 
 +
    public int getBar(){
 +
        return this.bar;
 +
    }
 +
 
 +
    public int getEastwood(){
 +
        return this.eastwood;
 +
    }
 +
 
 +
    public int getSimulatedAttribute(){
 +
        return this.eastwood * this.bar;
 +
    }
 +
}
 +
</source>
 +
 
 +
<source lang="java" title="Quader Beispiel">
 +
public class Cuboid {
 +
    private int width;
 +
    private int height;
 +
    private int length;
 +
 
 +
/*  [...]  */
 +
 
 +
    public int getWidth(){
 +
        return this.width;
 +
    }
 +
 
 +
    public int getHeight(){
 +
        return this.height;
 +
    }
 +
 
 +
    public int getLength(){
 +
        return this.length;
 +
    }
 +
 
 +
    public int getVolume(){
 +
        return this.width * this.height * this.length;
 +
    }
 +
}
 +
</source>

Aktuelle Version vom 30. November 2016, 15:25 Uhr

Getter sind Methoden, die sich aus der Notwendigkeit von setter-Methoden ergeben. Sie geben den Wert eines Attributes eines Objektes zurück.

Verwendung

Ein Getter wird geschrieben, wenn man auf ein privates Attribut eines Objektes zugreifen möchte, oder dem Verwender einer Programmschnittstelle die Existenz eines Attributes vorgaukeln möchte.

Da man die möglichen Werte eines Attributes gerne kontrollieren möchte, deklariert man ein Attribut als privat und kontrolliert mögliche Eingaben mit einem Setter. Da die Attributvariable nun privat ist, kann man sie zum Abfragen ihres Wertes nicht mehr direkt verwenden. Deswegen muss zusätzlich ein Getter programmiert werden, der die Rückgabe des Attributes nach Außen regelt.

Getter können auch nicht real vorhandene Attribute eines Objektes simulieren. So wird z.B. für die Repräsentation eines Würfels nur die Höhe, Breite und Länge gespeichert. Man kann nun einen Getter für das Volumen programmieren, der die entsprechenden Werte zuerst miteinander multipliziert und das berechnete Volumen zurück gibt. Somit simuliert man das Vorhandensein eines Attributes für das Volumen, muss sich aber um dessen Verwaltung nicht kümmern.

Codekonvention

Getter-Methoden haben meistens den Namen getAttributname mit der Signatur public VariablenTyp getAttributname().

Beispiele

public class Foo {
    private int bar;
    private int eastwood;

    public int getBar(){
        return this.bar;
    }

    public int getEastwood(){
        return this.eastwood;
    }

    public int getSimulatedAttribute(){
        return this.eastwood * this.bar;
    }
}
public class Cuboid {
    private int width;
    private int height;
    private int length;

/*  [...]  */

    public int getWidth(){
        return this.width;
    }

    public int getHeight(){
        return this.height;
    }

    public int getLength(){
        return this.length;
    }

    public int getVolume(){
        return this.width * this.height * this.length;
    }
}