Dein Fortschritt:
0 / 0 Aufgaben
1
Das Profil in der Skater-App
AFB I–IIIn einer App für Skaterinnen und Skater legt jede Person ein Profil an. Der Benutzername wird bei der Anmeldung festgelegt und kann danach nicht mehr geändert werden. Das Alter muss zwischen 13 und 120 Jahren liegen; ungültige Angaben werden abgewiesen, der bisherige Wert bleibt. Ein neues Profil ist zunächst privat und hat das Alter 13.
Material 1: Klassenkarte Profil
Profil
- - benutzername: Zeichenkette
- - alter: Ganzzahl
- - privat: Wahrheitswert
- c Profil(benutzername: Zeichenkette)
- + getBenutzername(): Zeichenkette
- + getAlter(): Ganzzahl
- + setAlter(alter: Ganzzahl)
- + istPrivat(): Wahrheitswert
- + setPrivat(privat: Wahrheitswert)
Material 2: Profil.java (Ausschnitt)
public class Profil {
private String benutzername;
private int alter;
private boolean privat;
public Profil(String benutzername) {
this.benutzername = benutzername;
this.alter = 13;
this.privat = true;
}
public int getAlter() {
return alter;
}
// setAlter fehlt noch
}
Material 3: Aufrufe in der App
Profil p = new Profil("skater_nils");
p.setAlter(12);
p.setAlter(15);
p.setPrivat(false);
p.setAlter(-3);
p.alter = 200;
- Nenne für jedes Attribut, ob es von außen nur gelesen oder gelesen und geändert werden kann.
- Ergänze in Material 2 die Methode
setAlter. - Bestimme die Objektkarte von
pnach den Zeilen 1 bis 5 aus Material 3 und gib an, wiejavacauf Zeile 6 reagiert. - Erläutere, warum
benutzernameeinen Getter, aber keinen Setter hat.
Hinweise
Hinweis zu Aufgabe a)
Suche zu jedem Attribut in der Karte einen Getter (
get… bzw. bei Wahrheitswerten ist…) und einen Setter (set…).Hinweis zu Aufgabe b)
Ein Setter hat den Rückgabetyp
void. Übernimm den Wert nur, wenn er im erlaubten Bereich liegt. Parameter und Attribut heißen gleich.Hinweis zu Aufgabe c)
Starte mit den Werten aus dem Konstruktor und prüfe jeden Aufruf gegen die Regel. Darf
App das Attribut direkt ansprechen?Hinweis zu Aufgabe d)
Lies noch einmal, was im Text über den Benutzernamen steht. Wer braucht den Namen lesend – z. B. die Anzeige in der App?
