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.

насл<strong>е</strong>довани<strong>е</strong><br />

О<br />

Подсказка: Воспользуйт<strong>е</strong>сь появл<strong>е</strong>ни<strong>е</strong>м сообщ<strong>е</strong>ни<strong>е</strong>м<br />

об ошибк<strong>е</strong> «по overload'» Авпйипґ<br />

Класс W o rk e r долж<strong>е</strong>н насл<strong>е</strong>довать от класса В<strong>е</strong><strong>е</strong><br />

Конструктор класса W o r k e r долж<strong>е</strong>н брать в<strong>е</strong>с пч<strong>е</strong>лы и п<strong>е</strong>р<strong>е</strong>давать <strong>е</strong>го конструктору базового<br />

класса. Вам оста<strong>е</strong>тся только добавить ключ<strong>е</strong>во<strong>е</strong> слово o v e r r i d e к м<strong>е</strong>тоду S h i f t L e f t .<br />

Посл<strong>е</strong> этого каждая рабочая пч<strong>е</strong>ла получит возможность вычислить сво<strong>е</strong> потр<strong>е</strong>бл<strong>е</strong>ни<strong>е</strong><br />

м<strong>е</strong>да, и ваша работа по р<strong>е</strong>дактированию класса W o r k e r буд<strong>е</strong>т зав<strong>е</strong>рш<strong>е</strong>на!<br />

т<br />

Класс Q ueen такж<strong>е</strong> долж<strong>е</strong>н насл<strong>е</strong>довать от класса В<strong>е</strong><strong>е</strong><br />

С классом Q u e e n п р и д <strong>е</strong>тся пов ози ться , так как и м <strong>е</strong>н н о зд<strong>е</strong>сь п р о и с х о д и т п о д с ч <strong>е</strong> т к ол ич <strong>е</strong>­<br />

ства м <strong>е</strong>да и ф о р м и р у <strong>е</strong>тся отч<strong>е</strong>т.<br />

★<br />

★<br />

П<strong>е</strong>р<strong>е</strong>кройт<strong>е</strong> м<strong>е</strong>тод В <strong>е</strong> <strong>е</strong> . G e t H o n e y C o n s u m p t io n о и добавьт<strong>е</strong> к н<strong>е</strong>му дополнит<strong>е</strong>льны<strong>е</strong><br />

вычисл<strong>е</strong>ния. Нужно опр<strong>е</strong>д<strong>е</strong>лить колич<strong>е</strong>ство рабочих пч<strong>е</strong>л, от этого зависит<br />

потр<strong>е</strong>бл<strong>е</strong>ни<strong>е</strong> м<strong>е</strong>да маткой. Колич<strong>е</strong>ство см<strong>е</strong>н матки равно колич<strong>е</strong>ству см<strong>е</strong>н<br />

самой занятой рабоч<strong>е</strong>й пч<strong>е</strong>лы.<br />

Обновит<strong>е</strong> м<strong>е</strong>тод W o r k T h e N e x t S h if t (), добавив к отч<strong>е</strong>ту информацию о потр<strong>е</strong>бл<strong>е</strong>нии<br />

м<strong>е</strong>да. Вам потр<strong>е</strong>бу<strong>е</strong>тся цикл, который буд<strong>е</strong>т добавлять эти св<strong>е</strong>д<strong>е</strong>ния для<br />

каждого рабоч<strong>е</strong>го, а такж<strong>е</strong> вычислять пч<strong>е</strong>лу с самым высоким потр<strong>е</strong>бл<strong>е</strong>ни<strong>е</strong>м, цикл<br />

долж<strong>е</strong>н располагаться до кода, отправляюш;<strong>е</strong>го пч<strong>е</strong>л на работу (тогда матка буд<strong>е</strong>т<br />

знать колич<strong>е</strong>ство м<strong>е</strong>да, съ<strong>е</strong>д<strong>е</strong>нно<strong>е</strong> во вр<strong>е</strong>мя т<strong>е</strong>кущ<strong>е</strong>й см<strong>е</strong>ны). Такж<strong>е</strong> нужно уч<strong>е</strong>сть<br />

потр<strong>е</strong>бл<strong>е</strong>ни<strong>е</strong> м<strong>е</strong>да самой маткой и добавить в кон<strong>е</strong>ц отч<strong>е</strong>та строчку «Total Honey<br />

Consumption: ххх units» (Суммарно<strong>е</strong> потр<strong>е</strong>бл<strong>е</strong>ни<strong>е</strong> м<strong>е</strong>да).<br />

★ Обновит<strong>е</strong> конструктор для класса Q u een , как вы это д<strong>е</strong>лали с конструктором для<br />

класса W orker.<br />

В класс<strong>е</strong> Queen наб<strong>е</strong>рит<strong>е</strong> public<br />

public override<br />

override и нажмит<strong>е</strong> проб<strong>е</strong>л.<br />

Появится список доступных<br />

Эля п<strong>е</strong>р<strong>е</strong>крытия м<strong>е</strong>тодов. По<strong>е</strong>л<strong>е</strong><br />

выбора нужного варианта<br />

названи<strong>е</strong> базового м<strong>е</strong>тода появится<br />

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

^<br />

Equafe(objectobj)<br />

♦ GetHeshCodeO<br />

■ ♦ IZ Z Z ir"<br />

S ’ ShiftsLeft { g e t }<br />

ToStringO<br />

Корр<strong>е</strong>ктный уч<strong>е</strong>т вс<strong>е</strong>х данны х о пч<strong>е</strong>лах<br />

Посл<strong>е</strong> р<strong>е</strong>дактирования конструкторов Q u e e n и W o rk er тр<strong>е</strong>бу<strong>е</strong>тся вн<strong>е</strong>сти изм<strong>е</strong>н<strong>е</strong>ния<br />

и в способ их вызова. В конструкторах появился новый парам<strong>е</strong>тр W e ig h t , который сл<strong>е</strong>ду<strong>е</strong>т<br />

указать:<br />

★<br />

Worker В<strong>е</strong><strong>е</strong> #1: 175mg; Worker Bee #2:114mg; Worker Bee #3: 149mg;<br />

Worker Bee #4: 155mg; Queen Bee: 275mg<br />

Это посл<strong>е</strong>дн<strong>е</strong><strong>е</strong> изм<strong>е</strong>н<strong>е</strong>ний, которо<strong>е</strong> тр<strong>е</strong>бовалось вн<strong>е</strong>сти в форму!<br />

дальш<strong>е</strong> ► 279

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

Saved successfully!

Ooh no, something went wrong!