. Стиллмен, Дж. Грин - Изучаем 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