Wie Funktioniert ein Read Only ( in java )?
Hey Leute :)
Wie genau mache ich ein Read Only Attribut/Methode in Java ? Also ich weiss nur das es etwas mit der Getter und Setter Methode zu tun hat. Mehr weiss ich nicht darüber. ( btw. die Getter und Setter Methoden verstehe ich :D )
Am besten wäre es, wenn jemand ein beispiel machen würden :)
Danke
2 Antworten
ReadOnly heißt, dass du nur einen Getter (und keinen Setter) für eine private Variable hast. Also quasi (in Pseudocode!):
class Auto {
private string _farbe;
public Auto(string farbe) {
this._farbe = farbe;
}
public string getFarbe() {
return this._farbe;
}
}
In dem Beispiel kannst du die Farbe nur beim anlegen eines neuen Autos im Konstruktor schreiben, ansonsten kannst du die Variable _farbe von außen nur lesen, aber nicht verändern.
Dankeschöön :)
Also muss ich die Variable farbe nicht noch irgendwie markieren, sodass man erkennt ob es wirklich ein ReadOnly ist ?
In java gibt es dafür das Schlüsselwort final
privat final int a = 12;
Damit ist a nicht mehr veränderbar.
Das geht auch bei Methoden Parametern.
void bla(final String s)
Ja möglich, wo bei private Felder natürlich trotzdem veränderbar sind ;-)
Nicht, wenn es keinen Setter gibt. Also von außen jetzt. :)
Da der Fragensteller explizit Getter und Setter erwähnt, glaube ich zwar, dass eher private Felder gemeint sind - aber final-Variablen sind natürlich auch eine Möglichkeit.