Sie sind hier 523
Fortgeschrittene Objektkonstruktion
var taxi = {
make: "Webville Motors",
model: "Taxi",
year: 1955,
color: "gelb",
passengers: 4,
convertible: false,
mileage: 281341,
started: false,
start: function() {
this.started = true;
},
stop: function() {
this.started = false;
}
drive: function {
//
drive-Code steht hier
}
};
var tbird = {
make: "Ford",
model: "Thunderbird",
year: 1957,
passengers: 4,
convertible: true,
, started: false,
oilLevel: 1.0,
start: function() {
if (oilLevel > .75) {
this.started = true;
}
},
stop: function() {
this.started = false;
},
drive: function() {
// drive-Code steht hier
}
};
var rocketCar = {
make: "Galaxy",
model: "4000",
year: 2001,
color: "weiss",
passengers: 6,
convertible: false,
mileage: 60191919,
, started: false,
start: function() {
this.started = true;
},
stop: function() {
this.started = false;
},
drive: function() {
// drive-Code steht
hier
},
thrust: function(amount) {
// code für thrust
}
};
var toyCar = {
make: "Mattel",
model: "PeeWee",
color: "blau",
type: "aufziehbar",
price: "2.99"
};
Konventionen für Objekte verwenden
Außerdem haben wir Objekte basierend auf Konventionen erstellt. Wir haben ein
paar Eigenschaften und Methoden zusammengepackt und gesagt: »Das ist ein
Auto!«, oder: »Das ist ein Hund!«. Tatsächlich waren die beiden Objekte aber
nur Autos (oder Hunde), weil wir uns an die Konventionen gehalten haben.
Diese Technik mag im Kleinen gut funktionieren. Sobald wir es aber mit sehr
vielen Objekten (oder mit vielen Entwicklern, die alle am gleichen Code arbeiten,
ohne die Konventionen komplett zu kennen) zu tun haben, wird es problematisch.
Aber glauben Sie nicht alles, was wir sagen. Sehen Sie selbst. Hier sind ein paar
Objekte, die wir teilweise schon aus diesem Buch kennen und die alle angeblich
Auto-Objekte sein sollen:
Das hier sieht schwer nach den
Autos aus, die wir kennen. Es hat alle
nötigen Eigenschaften und Methoden.
Der tbird sieht wie ein großar-
tiges Auto aus, aber es fehlen ein
paar wichtige Eigenschaften wie
Kilometerstand (mileage) und Farbe
(color). Außerdem scheint es ein paar
zusätzliche Eigenschaften zu haben.
Das könnte ein Problem sein …
Hmmm, das sieht aus wie die
anderen Auto-Objekte. Aber
Augenblick mal. Das hier hat einen
Raketenantrieb. Ich bin nicht sicher,
ob das überhaupt ein Auto ist.
Moment, das könnte
ein Auto sein. Es sieht
aber überhaupt nicht
wie die anderen Autos
aus. Es hat einen
Hersteller, ein Modell
und eine Farbe, aber
es sieht aus wie ein
Spielzeug, nicht wie
ein richtiges Auto.
Was hat das denn hier
zu suchen?
524 Kapitel 12
Ach, wenn es nur eine Möglichkeit gäbe,
Objekte zu erstellen, die alle gleich aussehen
und bei denen alle richtigen Eigenschaften
und Methoden an einem Ort definiert würden.
Ich bräuchte eine Art Plätzchenausstecher,
der mir Kopien meines Objekts anfertigt. Das
wäre traumhaft. Aber ich weiß ja, das ist alles
nur Fantasie …

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.