Wie Funktioniert ein Read Only ( in java )?

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.

CallMeLeonardo 
Fragesteller
 16.12.2015, 12:35

Dankeschöön :)

Also muss ich die Variable farbe nicht noch irgendwie markieren, sodass man erkennt ob es wirklich ein ReadOnly ist ?

0

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)

spaghetticode  16.12.2015, 11:16

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.

0
chokdee  16.12.2015, 11:21
@spaghetticode

Ja möglich, wo bei private Felder natürlich trotzdem veränderbar sind ;-)

1
CallMeLeonardo 
Fragesteller
 16.12.2015, 12:36

Super, dankeschöön :)

0