Getter: Unterschied zwischen den Versionen

Aus EINI
Wechseln zu: Navigation, Suche
 
(2 dazwischenliegende Versionen von einem anderen Benutzer 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 =
Zeile 15: Zeile 15:
 
= Beispiele =
 
= Beispiele =
  
<source lang="java">
+
<source lang="java" title="Willkürliches Beispiel">
 
public class Foo {
 
public class Foo {
 
     private int bar;
 
     private int bar;
Zeile 30: Zeile 30:
 
     public int getSimulatedAttribute(){
 
     public int getSimulatedAttribute(){
 
         return this.eastwood * this.bar;
 
         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>
 
</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;
    }
}