Eine ganze Zahl ist eine Zahl ohne Stellen hinter dem Komma. Sie kann positiv und negativ sein. Für den Datentyp "datentypGanzzahl" wird eine Objektschablone festgelegt. An den Constructor wird ein Wert übergeben und in der internen Variablen "wert" gespeichert. Das Schlüsselwort "this." muss dem Variablennamen vorangestellt werden, da hier eine Objektschablone angelegt wird.
class datentypGanzzahl {
constructor(value) {
this.wert = value;
}
}
Der Datentyp datentypGanzzahl soll prüfen, ob der übergebene Wert tatsächlich eine ganze Zahl ist. Dazu wird die Operation setGanzzahl(value)
in die Objektschablone eingebaut:
class datentypGanzzahl {
constructor(value) {
this.wert = null;
this.setGanzzahl(value);
}
setGanzzahl(value) {
if (Number.isInteger(value)) {
this.wert = value;
} else {
this.wert = null;
}
}
}
Mit Number.isInteger(value)
wird geprüft, ob der übergebene Wert eine ganzeZahl ist:
- Wenn ja, dann wird der übergebene Wert in der internen Variable
this.wert
gespeichert.
- Wenn nein, dann wird in der internen Variablen
null
gespeichert.
Da der Datentyp frei gestaltet werden kann, werden interne Variablen für den Erfolg oder Misserfolg der Prüfung und eine Rückmeldung für die Ausgabe an den Benutzer in der Objektschablone gespeichert. Zusätzlich werden noch Operationen für die Rückgabe der gespeicherten Werte festgelegt. Damit sieht der datentypGanzzahl wie folgt aus:
class datentypGanzzahl {
constructor(value) {
this.wert = null;
this.erfolg = false;
this.meldung = '';
this.setGanzzahl(value);
}
setGanzzahl(value) {
if (Number.isInteger(value)) {
this.wert = value;
this.erfolg = true;
this.meldung = 'Erfolg: Zahl ist eine Ganzzahl!';
} else {
this.wert = null;
this.erfolg = false;
this.meldung = 'Misserfolg: Übergebener Wert ist keine Ganzzahl!';
}
}
getGanzzahl() { return this.wert; }
getMeldung() { return this.meldung; }
getStatus() { return this.erfolg; }
}
Mit folgender Anweisung wird eine neue Variable vom Typ datentypGanzzahl angelegt:
let zahl1 = new datentypGanzzahl(34);
Der Wert von "zahl1" kann mit folgender Anweisung an eine andere Variable übergeben werden:
let zahl2 = zahl1.getGanzzahl();
In der Konsole kann mit folgender Anweisung eine Rückmeldung ausgegeben werden:
console.log(zahl1.getStatus(), zahl1.getMeldung(), zahl1.getGanzzahl());
Damit sieht das gesamte Programm wie folgt aus:
class datentypGanzzahl {
constructor(value) {
this.wert = null;
this.erfolg = false;
this.meldung = '';
this.setGanzzahl(value);
}
setGanzzahl(value) {
if (Number.isInteger(value)) {
this.wert = value;
this.erfolg = true;
this.meldung = 'Erfolg: Zahl ist eine Ganzzahl!';
} else {
this.wert = null;
this.erfolg = false;
this.meldung = 'Misserfolg: Übergebener Wert ist keine Ganzzahl!';
}
}
getGanzzahl() { return this.wert; }
getMeldung() { return this.meldung; }
getStatus() { return this.erfolg; }
}
let zahl1 = new datentypGanzzahl(34);
console.log(zahl1.getStatus(), zahl1.getMeldung(), zahl1.getGanzzahl());
let zahl2 = zahl1.getGanzzahl();
console.log(zahl2);
zahl1.setGanzzahl(101.3);
console.log(zahl1.getStatus(), zahl1.getMeldung(), zahl1.getGanzzahl());
In einem neuen Fenster starten: Datentyp Ganzzahl