. Стиллмен, Дж. Грин - Изучаем 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.
акула-нянюшка и плотник-мурав<strong>е</strong>й<br />
Кат<strong>е</strong>гории данных н<strong>е</strong> бс<strong>е</strong>гда мо)кно сохранять 6 п<strong>е</strong>р<strong>е</strong>м<strong>е</strong>нных типа string<br />
Пр<strong>е</strong>дположим, у вас <strong>е</strong>сть н<strong>е</strong>сколько рабочих пч<strong>е</strong>л из класса<br />
Worker. Как написать конструктор, который в кач<strong>е</strong>ств<strong>е</strong> парам<strong>е</strong>тра<br />
б<strong>е</strong>р<strong>е</strong>т работу? Если названия работ пом<strong>е</strong>щать в п<strong>е</strong>р<strong>е</strong>м<strong>е</strong>нны<strong>е</strong><br />
типа string, получится прим<strong>е</strong>рно такой код;<br />
Наш<strong>е</strong> прилож<strong>е</strong>ни<strong>е</strong> для управл<strong>е</strong>ния<br />
пч<strong>е</strong>лами оплсл<strong>е</strong>живало радоту<br />
каждой из них при помош,и строк<br />
вида Stiny Patrol или Nectar<br />
Collector.<br />
Код позволя<strong>е</strong>т п<strong>е</strong>р<strong>е</strong>дать эти<br />
знач<strong>е</strong>ния в конструктор, даж<strong>е</strong><br />
<strong>е</strong>сли программа подд<strong>е</strong>ржива<strong>е</strong>т<br />
только таки<strong>е</strong> занятия как<br />
Sting Patrol (Охранник), Nectar<br />
Collector (Сдорищк н<strong>е</strong>ктара)<br />
и други<strong>е</strong>, привычны<strong>е</strong> для пч<strong>е</strong>л<br />
варианты работы.<br />
Worker buzz = new Worker("Прокурор");<br />
Worker clover = new Worker("Кинолог");<br />
Worker gladys = new Worker("Диктор");<br />
К конструктору W orker можно добавить код, пров<strong>е</strong>ряющий<br />
корр<strong>е</strong>ктность каждой строчки. Но тогда, чтобы расширить<br />
список доступных для пч<strong>е</strong>л занятий вам прид<strong>е</strong>тся отр<strong>е</strong>дактировать<br />
данный код и п<strong>е</strong>р<strong>е</strong>компилировать класс W orker. Так что<br />
это н<strong>е</strong>дальновидно<strong>е</strong> р<strong>е</strong>ш<strong>е</strong>ни<strong>е</strong>. А что д<strong>е</strong>лать при наличии других<br />
классов, пров<strong>е</strong>ряющих типы работ, которы<strong>е</strong> могут выполнять<br />
рабочи<strong>е</strong> пч<strong>е</strong>лы? Вы получит<strong>е</strong> дублирующийся код, затрудняющий<br />
вашу работу.<br />
Фактич<strong>е</strong>ски нам нужно объявить: «Зд<strong>е</strong>сь могут использоваться<br />
только строго опр<strong>е</strong>д<strong>е</strong>л<strong>е</strong>нны<strong>е</strong> знач<strong>е</strong>ния». И п<strong>е</strong>р<strong>е</strong>числить эти<br />
знач<strong>е</strong>ния.<br />
340 глава 8