jesteś tutaj
545
Zaawansowane sposoby konstruowania obiektów
Stosowanie konwencji podczas tworzenia obiektów
Kolejnym rozwiązaniem, z którego korzystaliśmy do tej pory, było tworzenie
obiektów
w oparciu o konwencję. Przykładowo zbieraliśmy kilka właściwości
i metod w jedną całość i stwierdzaliśmy: „To jest samochód!” albo „To jest pies!”,
jednak jedynym czynnikiem sprawiającym, że takie dwa obiekty były samochodami
(lub psami), była przyjęta przez nas konwencja.
Takie rozwiązanie może działać na małą skalę, jednak będzie problematyczne
w rozwiązaniach wymagających tworzenia wielu obiektów lub w przypadkach, gdy nad
kodem pracuje wielu programistów, którzy mogą nie znać dobrze przyjętych konwencji.
Jednak nie musisz wierzyć nam na słowo. Przyjrzyj się kilku obiektom, które
przedstawiliśmy wcześniej w książce i które, według tego, co nam powiedziano,
są samochodami.
var taxi = {
make: ”SieMoCorp”,
model: ”Taxi”,
year: 1955,
color: ”ĝóïty”,
passengers: 4,
convertible: false,
mileage: 281341,
started: false,
start: function() {
this.started = true;
},
stop: function() {
this.started = false;
}
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() {
// kod obsïugujÈcy jazdÚ
}
}
var rocketCar = {
make: ”Galaxy”,
model: ”4000”,
year: 2001,
color: ”biaïy”,
passengers: 6,
convertible: false,
mileage: 60191919,
started: false,
start: function() {
this.started = true;
},
stop: function() {
this.started = false;
},
drive: function() {
// kod obsïugujÈcy jazdÚ
},
thrust: function(amount) {
// kod obsïugujÈcy przyspieszanie
}
};
var toyCar = {
make: ”Mattel”,
model: ”PeeWee”,
color: ”niebieski”,
type: ”nakrÚcany”,
price: ”10.99”
};
To na pewno jest jeden z samochodów,
z którymi już mieliśmy do czynienia
wcześniej w tej książce. Ma dokładnie
takie same właściwości i metody.
tbird wygląda na wspaniały samochód,
ale nie widzimy w nim wszystkich
podstawowych i niezbędnych
właściwości, takich jak mileage
oraz color. Wygląda także na to,
że dysponuje kilkoma dodatkowymi
właściwościami. Z tego mogą
wyniknąć jakieś problemy…
No dobrze, to też wygląda na
nasz obiekt samochodu, choć
poczekaj… On przecież ma
dopalacze rakietowe. Hmm, nie
jestem pewny, czy to prawdziwy
samochód.
Chwileczkę, to
mógłby być
samochód, lecz
nie wygląda
podobnie
do naszych
pozostałych
obiektów. Ma
markę, model
i kolor, ale poza
tym wygląda na
zabawkę, a nie
samochód.
Co on tu robi?
546
Rozdział 12
Gdybym tylko wiedziała,
jak tworzyć obiekty mające taką
samą podstawową strukturę... Dzięki temu
wszystkie moje obiekty wyglądałyby tak samo,
gdyż miałyby te same właściwości, a wszystkie
metody byłyby zdefiniowane w jednym miejscu.
To byłoby jak foremka do ciasteczek, której
mogłabym używać do wycinania takich samych
obiektów. To byłoby cudowne… Szkoda, że to
tylko moje marzenia…

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.