Sie sind hier 591
Prototypen verwenden
species: "Hund"
Dog Prototype
bark()
run()
wag()
name: "Spot"
breed: "Chihuahua"
weight: 10
Dog
name: “Fluffy”
breed: “Poodle"
weight: 30
Dog
name: "Fido"
breed: "Mischling"
weight: 17
Dog
name: "Scotty"
breed:
"Scottish Terrier"
weight: 7.5
handler: "Cookie"
ShowDog
Wir haben immer noch unseren
ursprünglichen Hund-Prototyp.
Aber wir brauchen auch Ausstellungshunde, und die sind ein
wenig speziell. Zwar sind auch sie Hunde, haben aber eine Reihe
von Verhaltensweisen, die normale Hunde nicht besitzen.
league: "Webville"
ShowDog Prototype
stack()
bait()
gait()
groom()
Dann erstellen wir ein paar echte
Instanzen von ShowDog, wie beispiels-
weise diesen Scottish Terrier.
Trotzdem können wir alle benötigten
Instanzen erstellen. Diese erben bei
Bedarf direkt vom Hund-Prototyp.
Eine Prototypenkette einrichten
Am besten beginnen wir damit, uns das Ganze als eine Prototypenkette vorzustellen. Anstelle einer Instanz,
die Eigenschaften von einem bestimmten Prototyp erbt, kann es auch eine Kette aus einem oder
mehreren Prototypen geben, von denen die Instanz erben kann. Von unserer bisherigen Denkweise aus
ist das kein großer logischer Schritt.
Wir brauchen einen Prototyp für unsere Ausstellungshunde. Dieser soll die Methoden bark, run und wag
aus dem bereits vorhandenen Hund-Prototyp übernehmen. Das wollen wir uns jetzt ansehen, um ein
Gefühl für das Zusammenspiel der einzelnen Bausteine zu bekommen:
Dieser Prototyp enthält alle Dinge, die für jeden Hund
gebraucht werden: eine species-Eigenschaft und Methoden
zum Bellen, Laufen und Wedeln mit dem Schwanz.
Zumindest sagen das
die Hundeführer!
Unser neuer Prototyp
für Ausstellungshunde.
Wie Sie sehen, enthält ShowDog jetzt
alle Instanz-eigenen Eigenschaften wie
name, breed, weight und handler.
Um das Diagramm einfach zu halten,
haben wir die zu jeder Funktion
gehörenden Methoden weggelassen.
Übrigens ist das ein ECHTER »Handler«
(Hundeführer), mit Leine und Halsband, nicht
zu verwechseln mit einem Event-Handler.

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.