14.02.2017 Views

. Стиллмен, Дж. Грин - Изучаем C#, 2-е издание

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

цикл foreach<br />

Обновим цикл foreach<br />

В ы вид<strong>е</strong>ли уж <strong>е</strong> два п р и м <strong>е</strong> р а ц и к л и ч <strong>е</strong> с к о го вы зова м <strong>е</strong>тода C o n s o le . W r i t e L i n e () для вы вода инф о р м а ­<br />

ц и и об эл<strong>е</strong>м <strong>е</strong>нтах к о л л <strong>е</strong> кц и и на ко нсо л ь. В о т та к в ы в о д и л и сь св<strong>е</strong>д<strong>е</strong>ния о к о л л <strong>е</strong> кц и и L is t < C a r d > :<br />

f o r e a c h (C a rd c a r d i n c a r d s )<br />

^<br />

Умминани<strong>е</strong> о м<strong>е</strong>тод<strong>е</strong><br />

C o n s o le . W r it e L in e ( c a r d . Name) ;<br />

}<br />

-ToStringO в данном случа<strong>е</strong><br />

Можно опустить,<br />

,<br />

М <strong>е</strong> то д P r in t D u c k s () в ы п о л н я л а н а л о ги ч н ую ф ун кц и ю для объ<strong>е</strong>ктов D u ck:<br />

оп<strong>е</strong>ратор + вызов<strong>е</strong>т <strong>е</strong>го<br />

‘^отоматич<strong>е</strong>скиfo<br />

r e a c h (Duck d u ck i n d u cks) /<br />

^ C o n s o le .W r ite L in e ( d u c k .S iz e .T o S tr in g O + " - in c h " + d u c k .K in d .T o S t r in g O ) ;<br />

Т<strong>е</strong>п<strong>е</strong>рь, когда объ<strong>е</strong>кт D u c k п о л уч и л св о й м <strong>е</strong>тод T o S t r i n g ( ) , м <strong>е</strong>тод P r in t D u c k s () долж <strong>е</strong> н и спользо ­<br />

вать это пр<strong>е</strong>им ущ <strong>е</strong>ство:<br />

p u b l i c s t a t i c v o i d P r in t D u c k s ( L is t < D u c k > d u c k s ) {<br />

f o r e a c h (D u c k d u c k i n d u c k s ) {<br />

C o n s o le . W r it e L in e (d u c k ) ; _ п<strong>е</strong>р<strong>е</strong>дач<strong>е</strong> м<strong>е</strong>тоду Console.WriteLineO<br />

} ссылки на од-ь<strong>е</strong>кт_, он автоматич<strong>е</strong>ски вызо-<br />

C o n s o le . W r it e L in e { " У т к и к о н ч и л и с ь ! " ) ; Memo ToStringO этого обь<strong>е</strong>кта-<br />

}<br />

Вв<strong>е</strong>дит<strong>е</strong> э то т код в програм м у D u c k s и запустит<strong>е</strong> <strong>е</strong><strong>е</strong>. С п и со к вы вода н<strong>е</strong> изм <strong>е</strong>нится. Н о <strong>е</strong>сли вы захоти т<strong>е</strong><br />

добавить свойство G e n d e r для уч<strong>е</strong>та пола у гк и , д оста та то чно о б н о в и ть м <strong>е</strong>тод T o S t r i n g ( ) , и вс<strong>е</strong> м <strong>е</strong>тоды ,<br />

к о то р ы <strong>е</strong> <strong>е</strong>го использую т (вклю чая м <strong>е</strong>тод P r in t D u c k s ( ) ) , изм <strong>е</strong>нятся соотв<strong>е</strong>тствую щ им образом.<br />

д ^ * т л • 1\ I •<br />

Дооаоим М<strong>е</strong>тоу ToStringO ^ объбкшу Card<br />

Вы до сих пор мож<strong>е</strong>т<strong>е</strong> вызывать<br />

м<strong>е</strong>тод ToStringO таким<br />

„<br />

С в о й ств о Name объ<strong>е</strong>кта C a rd возвращ а<strong>е</strong>т им я ка р ты :<br />

способом, но т<strong>е</strong>п<strong>е</strong>рь вы зна<strong>е</strong>т<strong>е</strong>,<br />

ч т о в этом н<strong>е</strong>т н<strong>е</strong>обходимо -<br />

p u b l i c s t r i n g Name<br />

I<br />

как оп<strong>е</strong>ратор + вызыва<strong>е</strong>т<br />

<strong>е</strong>го автоматич<strong>е</strong>ски.<br />

^ g e t { r e t u r n V a lu e . T o S t r in g O + " o f " + S u i t . T o S t r i n g O ; }<br />

В о т ч т о долж <strong>е</strong>н д<strong>е</strong>лать м<strong>е</strong>тод T o S t r i n g ( ) . П о это м у добавьт<strong>е</strong> <strong>е</strong>го к классу C a rd :<br />

p u b l i c o v e r r i d e s t r i n g T o S t r i n g O<br />

^<br />

функции м<strong>е</strong>тода ToStringO н<strong>е</strong><br />

r e t u r n N am e;<br />

ограничиваются ид<strong>е</strong>нтификаци<strong>е</strong>й<br />

} ваших объ<strong>е</strong>ктов в ИСР. В сл<strong>е</strong>дуюш,их<br />

главах мы рассмотрим пр<strong>е</strong>-<br />

Т<strong>е</strong>п<strong>е</strong>рь ваш и п р о гр а м м ы , использую щ и <strong>е</strong> о б ъ <strong>е</strong> кты C a rd , имуш,<strong>е</strong>ства, которы<strong>е</strong> да<strong>е</strong>т пр<strong>е</strong>м<br />

о ж н о л <strong>е</strong> гко отладить.<br />

образовани<strong>е</strong> объ<strong>е</strong>ктов в строки.<br />

366 глава 8

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!