Getter: Unterschied zwischen den Versionen
Hauer (Diskussion | Beiträge) |
|||
(4 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 | + | 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. |
− | + | 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; } }