212
Rozdział 5.
Zrozumieć obiekty
Czym w ogóle jest programowanie obiektowe?
Dotychczas rozpatrywaliśmy wszystkie problemy jako zbiory deklaracji zmiennych,
instrukcji warunkowych, instrukcji
while
i
for
oraz wywołań funkcji. To tzw. myślenie
proceduralne: najpierw zrób to, potem to itd. Natomiast w programowaniu obiektowym
problem rozpatrujemy w kontekście obiektów. Obiektów, które mają stan (np. samochód
może mieć określony poziom oleju i paliwa) oraz zachowanie (np. samochód może być
uruchomiony, może jechać, może być zatrzymany lub zaparkowany).
A o co w tym chodzi? Otóż programowanie obiektowe wyzwala umysł i pozwala myśleć
na wyższym poziomie. To taka różnica, jak pomiędzy zrobieniem grzanki od samego
początku (czyli zrobieniem grzałki z drutu oporowego, podłączeniem jej do kontaktu,
włączeniem prądu i trzymaniem chleba na tyle blisko, by się opiekł, nie wspominając
już o czekaniu na tyle długo, by grzanka była dobra, i odłączeniem grzałki od prądu,
kiedy już będzie gotowa) a użyciem tostera (czyli umieszczeniem kromki chleba
w tosterze i wciśnięciem przycisku). Ten pierwszy sposób jest proceduralny, a ten drugi
— obiektowy: używamy obiektu tostera, który udostępnia metody łatwego wsadzania
kromek chleba i opiekania ich.
2ELHNWSLâNL
Obiekt rakietki
Obiekt gracza
Obiekt gracza
3R]ZDODPLSURMHNWRZDþZEDUG]LHMQDWXUDOQ\
VSRVyE']LĐNLWHPXU]HF]\PRJċVLĐ]PLHQLDþ
³.XEDSURMHNWDQWRSURJUDPRZDQLD
1LHPXV]Đ]DMPRZDþVLĐNRGHPNWyU\MXİ
SU]HWHVWRZDâHPFK\EDİHGRGDMĐGRQLHJRQRZH
PRİOLZRĤFL
³%DUWHNSURJUDPLVWD
3RGREDPLVLĐWRİHGDQHLPHWRG\NWyUHQDW\FK
GDQ\FKRSHUXMċVċ]JUXSRZDQHUD]HPZMHGQ\P
RELHNFLH
³-DVLHNSLZRV]
0RİOLZRĤþXİ\ZDQLDJRWRZHJRNRGXZLQQ\FK
DSOLNDFMDFK.LHG\SLV]ĐQRZ\RELHNWPRJĐVSUDZLþ
İHEĐG]LHQDW\OHHODVW\F]Q\E\PPyJâSyĮQLHM
]QLHJRNRU]\VWDþZLQQ\FKSURMHNWDFK
³.U]\VLHNPHQDGİHUSURMHNWX
1LHPRJĐXZLHU]\þİH.U]\VLHNSRZLHG]LDâFRĤ
WDNLHJR1LHQDSLVDâQDZHWOLQLMNLNRGXRGSLĐFLXODW
³'DUHNSUDFXMH].U]\ĤNLHP
Co Ci się podoba
w programowaniu obiektowym?
Pong!
WYSIL
SZARE KOMÓRKI
Załóżmy, że masz zaimplementować klasyczną
grę wideo, czyli grę w ping-ponga. Jakie obiekty
utworzyłbyś? Jaki stan posiadałyby te obiekty i jakie
miały zachowania?
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.