jesteś tutaj
617
Stosowanie prototypów
Czas na uzupełnienie prototypu
Przygotowaliśmy już prototyp psa pokazowego (który obecnie jest jedynie pustą instancją
Dog
).
Nadszedł czas, by wypełnić ten prototyp właściwościami oraz zachowaniami, dzięki którym
będzie nieco bardziej przypominał prototyp psa pokazowego.
Poniżej pokazaliśmy kilka właściwości i metod charakterystycznych dla psów pokazowych,
które możemy dodać do naszego prototypu.
species: "Psowate"
Prototyp Dog
bark()
run()
wag()
league: “Sieciowice”
Prototyp ShowDog
stack()
bait()
gait()
groom()
function ShowDog(name, breed, weight, handler) {
this.name = name;
this.breed = breed;
this.weight = weight;
this.handler = handler;
}
ShowDog.prototype = new Dog();
Showdog.prototype.league = ”Sieciowice”;
ShowDog.prototype.stack = function() {
console.log(”Stoi i uwaĝa!”);
};
ShowDog.prototype.bait = function() {
console.log(”Prosi o smakoïyk.”);
};
ShowDog.prototype.gait = function(kind) {
console.log(”Trenuje ” + kind + ”.” );
};
ShowDog.prototype.groom = function() {
console.log(”Czas pielÚgnacji sierĂci.”);
};
Mówimy, że nasz prototyp ShowDog
„rozszerza” prototyp Dog. Dziedziczy on
wszystkie właściwości po prototypie Dog
i dodaje do nich swoje własne.
To są wszystkie metody,
które muszą być
dostępne w obiektach
psów pokazowych. Na
razie zadbamy o to,
by były możliwie jak
najprostsze.
Wszystkie nasze psy
pokazowe występują na
pokazach w ramach ligi
sieciowickiej, a zatem
do prototypu dodamy
właściwość z odpowiednią
wartością.
Pamiętaj, że konstruktor ShowDog wygląda bardzo
podobnie do konstruktora Dog. Pies pokazowy
musi mieć imię, rasę oraz wagę, jak również
jedną dodatkową właściwość: handler (określającą
jego tresera). Wszystkie te właściwości zostaną
zdefiniowane w instancji ShowDog.
Dzięki tym wszystkim zmianom nasz prototyp psa pokazowego
ShowDog
nabrał
odpowiedniego wyglądu. Zmodyfikujmy zatem jeszcze raz nasz diagram obiektów,
a kiedy to zrobimy, nadejdzie w końcu czas na wielki test psów pokazowych.
Przypuszczamy, że całe Sieciowickie Towarzystwo Kynologiczne będzie
z niecierpliwością oczekiwało, by zobaczyć, jak działa nasze rozwiązanie.
Wszystkie te właściwości
dodajemy do prototypu,
więc odziedziczą je
wszystkie psy pokazowe.
Właśnie
zaczynamy
używać instancji
Dog, która
będzie pełnić
funkcję prototypu
psa pokazowego,
i dodajemy do
niej wszystkie
niezbędne
właściwości
i metody.
Get Programowanie w JavaScript Rusz głową! 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.