image Strona Główna       image SKFAB00GBB       image ceelt smp       image Artykul1       image ArmyBeasts       image 2006 nov p3       

Odnośniki

[ Pobierz całość w formacie PDF ]

jekcie ka dy obiekt realizuje dobrze jedno zadanie, lecz nie stara si robić zbyt wiele. Jak
mo na si było przekonać, rozwi zanie takie nie tylko pomaga w odnajdywaniu obiektów,
które mo na by wykorzystać (obiekt stanowi cy interfejs drukowania), lecz tak e stwarza
mo liwo ć pisania obiektów nadaj cych si do wielokrotnego wykorzystania w ró nych
programach (na przykład katalog czeków).
Traktowanie obiektu jako dostawcy usług jest podej ciem, które wiele ułatwia i jest przy-
datne nie tylko podczas procesu projektowania, lecz tak e w sytuacjach, gdy inne osoby sta-
raj si przeanalizować kod lub powtórnie wykorzystać obiekty  je li mo na ocenić
warto ć obiektu na podstawie wiadczonych przez niego usług, znacznie łatwiej mo na
go dopasować do tworzonego projektu.
5R]G]LDä u :SURZDG]HQLH Z ZLDW RELHNWÑZ
8NU\ZDQLH LPSOHPHQWDFML
Warto dokonać rozró nienia pomi dzy twórcami klas (ang. class creators, którzy definiuj
nowe typy danych) a programistami-klientami (ang. client programmers4;  konsumentami
klas, którzy wykorzystuj te typy danych w swoich aplikacjach). Celem programisty-klienta
jest zebranie zestawu klas-narz dzi gotowych do wykorzystania w szybkim tworzeniu
aplikacji. Celem twórcy klas jest natomiast przygotowywanie takich klas, które udo-
st pniaj programi cie-klientowi jedynie to, co dla niego niezb dne, a cał reszt trzy-
maj w ukryciu. Dlaczego? Poniewa to, co ukryte, nie mo e zostać wykorzystane przez
programist -klienta, a zatem twórca mo e zmienić niewidoczn cz ć, nie przejmuj c
si ewentualnym wpływem tych zmian na inne cz ci. Ukryta cz ć zwykle reprezen-
tuje delikatne wn trze obiektu, które mogłoby z łatwo ci zostać  popsute przez nie-
uwa nego lub niedoinformowanego programist -klienta. Z tego powodu ukrywanie im-
plementacji zmniejsza liczb bł dów w programach.
Nie sposób przecenić idei ukrywania implementacji. W ka dej relacji istotne jest istnie-
nie ogranicze respektowanych przez wszystkie uczestnicz ce w niej strony. Gdy two-
rzymy bibliotek , nawi zujemy równocze nie pewn relacj z jej klientem, b d cym
równie programist , ale takim, który ma na celu  zło enie aplikacji za pomoc naszej
biblioteki, ewentualnie zbudowanie biblioteki wi kszej. Gdy wszystkie składniki klasy
s dost pne dla wszystkich, wtedy programista-klient mo e z klas zrobić wszystko 
nie istnieje aden sposób na wymuszenie przestrzegania reguł. Nawet je li naprawd nie
chcemy, aby klient manipulował bezpo rednio niektórymi ze składników naszej klasy, bez
mechanizmów kontroli dost pu nie istnieje sposób uniemo liwienia tego. Wszystko jest
publiczne i widoczne dla całego wiata.
Pierwszym uzasadnieniem kontroli dost pu jest ch ć wymuszenia na kliencie trzymania
r k z daleka od rzeczy, których nie powinien dotykać  cz ci niezb dnych do wyko-
nywania wewn trznych operacji naszego typu danych, nie b d cych jednak cz ci in-
terfejsu, którego potrzebuj u ytkownicy do rozwi zywania konkretnych problemów.
Kontrola taka jest korzystna dla u ytkowników, pozwala im bowiem łatwo odró nić to,
co dla nich istotne, od tego, co mog zignorować.
Drugim powodem wprowadzenia kontroli dost pu jest umo liwienie projektantowi biblio-
teki wymiany wewn trznych mechanizmów klasy bez zastanawiania si nad wpływem tej
czynno ci na programistów-klientów. Mo na na przykład zaimplementować jak klas
w prymitywny sposób w celu uproszczenia pracy, a w pó niejszym terminie (je li oka e
si to konieczne) przepisać j , aby działała szybciej. Je eli interfejs i implementacja s od
siebie wyra nie oddzielone i chronione, wtedy osi gni cie tego nie jest trudne.
Java posiada trzy słowa kluczowe słu ce do ustanowienia rozgranicze w klasach. S to:
RWDNKE (publiczny), RTKXCVG (prywatny) i RTQVGEVGF (chroniony). Ich u ycie i znaczenie
jest dosyć oczywiste. S to tzw. specyfikatory dost pu (ang. access specifiers)  okre-
laj , kto jest upowa niony do u ywania nast puj cych po nich definicji. Specyfikator
RWDNKE oznacza, e definicje s dost pne dla ka dego, natomiast RTKXCVG, e dost p do [ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • blacksoulman.xlx.pl