Sie sind hier 211
Objekte verstehen
var fiat = {
// weitere Eigenschaften und Methoden hier ...
drive: function() {
if (this.started) {
if (this.fuel > 0) {
alert(this.make + " " +
this.model + " macht wrumm wrumm!");
this.fuel = this.fuel - 1;
} else {
alert("Der Tank ist leer. Bitte erst nachtanken!");
this.stop();
}
} else {
alert("Sie müssen erst den Motor starten.");
}
},
addFuel: function(amount) {
this.fuel = this.fuel + amount;
}
};
Aktualisieren Sie Ihren Code und machen Sie eine weitere
Probefahrt. Mit dem unten stehenden Testcode haben wir
diese Meldungen bekommen:
Auftanken für die
Probefahrt
Und jetzt soll der Zustand das Verhalten beeinflussen
Nachdem das Auto einen Tank hat, können wir jetzt etwas Verhalten hinzufügen. Ist der
Tank leer, sollte es nicht möglich sein, loszufahren. Dafür passen wir die drive-Methode
so an, dass vor dem Losfahren der Füllstand überprüft wird und sich der Tank beim Fahren
leert. Hier der dafür nötige Code:
Bevor wir losfahren, können wir nun
überprüfen, ob wir genug Sprit haben.
Bei jeder Fahrt sollte außerdem der
Füllstand reduziert werden.
Wenn der Tank leer ist, erscheint
dazu eine Meldung, und wir
schalten den Motor aus. Um das
Auto erneut fahren zu können,
müssen Sie erst Benzin nachfüllen
und den Motor wieder starten.
fiat.start();
fiat.drive();
fiat.addFuel(2);
fiat.start();
fiat.drive();
fiat.drive();
fiat.drive();
fiat.stop();
Zuerst haben wir versucht, ohne
Benzin loszufahren. Dann haben wir
nachgetankt (per addFuel()) und
sind so lange gefahren, bis der Tank
leer war. Benutzen Sie Ihren eigenen
Testcode und stellen Sie sicher, dass
er wie gewünscht funktioniert.
212 Kapitel 5
Treibstoff-Übung
Um die fuel-Eigenschaft komplett in das car-Objekt zu integrieren, ist immer noch etwas Arbeit
nötig. Soll es beispielsweise möglich sein, das Auto auch dann zu starten, wenn der Tank leer
ist? Sehen Sie sich hierzu noch einmal die start-Methode an:
Das scheint auf jeden Fall möglich zu sein.
Helfen Sie uns, die fuel-Eigenschaft in diesen Code zu integrieren, indem Sie die Tankfüllung
überprüfen, bevor das Auto gestartet wird. Wird die start-Methode aufgerufen, wenn der Tank
leer ist, geben Sie dem Fahrer einen praktischen Hinweis wie "Der Tank ist leer.
Bitte erst nachtanken!".
Schreiben Sie die neue start-Methode unten auf. Danach
können Sie den neuen Code in Ihre HTML-Datei einfügen und testen. Überprüfen Sie Ihre
Lösung am Ende des Kapitels, bevor Sie weiterlesen.
start: function() {
this.started = true;
}
Sehen Sie sich den Code für das fiat-Objekt noch einmal an. Gibt es andere
Stellen, an denen Sie die fuel-Eigenschaft benutzen können, um das Verhalten
des Autos zu beeinflussen, oder gibt Bedarf für zusätzliches Verhalten, das die
fuel-Eigenschaft verändert? Unten haben wir etwas Platz für Ihre Ideen gelassen.
Hier kommt Ihr
Code hin.
Übung
Kopf-
nuss

Get JavaScript-Programmierung von Kopf bis Fuß now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.