Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Prostyprzykład:HelloDI!
17
klasywspółpracujące
Żebyzrozumiećstrukturęprogramu,zaczniemyodspojrzenianametodę
Main
apli-
kacjikonsolowej.Następniepokażemy,alenapoczątekprzedstawimymetodę
Main
aplikacjiHelloDI!:
privatestaticvoidMain()
{
IMessageWriterwriter=newConsoleMessageWriter();
varsalutation=newSalutation(writer);
salutation.Exclaim();
}
Ponieważprogramwymagapisaniawkonsoli,tworzyonnowąinstancję
Console-
MessageWriter
,któraenkapsulujefunkcjonalność.Przekazujeonobiektwriterdo
klasy
Salutation
wtakisposób,żeinstancjaobiektusalutationwie,gdziewypisaćswoją
wiadomość.Iskorowszystkojestterazpoprawniepodpięte,możliwejestwykonanie
logikimetody
Exclaim
skutkującejwypisaniemwiadomościnaekranie.
Konstruowanieobiektówwewnątrzmetody
Main
topodstawowyprzykład
CZYSTEGO
DI
.Żaden
KONTENERDI
niejestużytydostworzenia
Salutation
ijego
ZALEŻNOŚCI
ConsoleMessageWriter
.Rysunek1.10ukazujezwiązekmiędzyklasamiwspółpra-
cującymi.
MetodaMaintworzynoweinstancjeklas
ConsoleMessageWriterorazSalutation
WrezultacieSalutationużywaConsoleMessageWriter
chociażtopośrednieużycieniejestwidoczne
Main()
Tworzy/Używa
Tworzy
MessageWriter
Salutation
Console-
ConsoleMessageWriterimplementujeinterfejs
IMessageWriter,którywykorzystywanyjest
przezSalutation
Używa
IMessageWriter
Rysunek1.10.ZwiązekmiędzyklasamiwspółpracującymiwaplikacjiHellodi!
implementowanielogikiaplikacji
Głównalogikaaplikacjijestzamkniętawklasie
Salutation
ukazanejwlistingu1.1.