. Стиллмен, Дж. Грин - Изучаем C#, 2-е издание
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
н<strong>е</strong> в<strong>е</strong>рь глазам своим<br />
Коф<strong>е</strong>барка отн о си тся к Приборам<br />
Для задачи экономии эл<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>ргии<br />
можно ограничиться классом A p p lia n c e (Прибор). Но чтобы<br />
отличить коф<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>ны в классы Cof feeM aker и Oven. Эти классы будут производными<br />
от класса A p p lia n c e , сод<strong>е</strong>ржащ<strong>е</strong>го общи<strong>е</strong> для них м<strong>е</strong>тоды<br />
и свойства.<br />
p u b l i c v o i d M o n ito rP o w e r(A p p lia n c e a p p l i a n c e ) {<br />
}<br />
/ / к о д д о б а в л <strong>е</strong> н и я данны х в домашнюю<br />
/ / б а з у п о т р <strong>е</strong> б л <strong>е</strong> н и я э н <strong>е</strong> р г и и 33 ^ ^ ^ долж<strong>е</strong>н<br />
Э т о т код отсл<strong>е</strong>жива<strong>е</strong>т,<br />
^^^^л<strong>е</strong>жиТающий<br />
сколько эл<strong>е</strong>ктроэн<strong>е</strong>ргии<br />
потр<strong>е</strong>бл<strong>е</strong>ни<strong>е</strong><br />
тр<strong>е</strong>дц<strong>е</strong>тся для работы \ эл<strong>е</strong>ктроэн<strong>е</strong>ргии<br />
коф<strong>е</strong>варки. \ g<br />
C offeeM aker<br />
CoffeeLett<br />
FlllWithWaterO<br />
MakeCoffeeO<br />
A ppliance<br />
Pluggedin<br />
Color<br />
ConsumePowerO<br />
Oven<br />
Capacity<br />
PreheatO<br />
HeatUpO<br />
ReheatO<br />
C o ffe e M a k e r m i s t e r C o f f e e = new C o f f e e M a k e r ( ) ;<br />
M o n ito r P o w e r ( m is te r C o f f <strong>е</strong> <strong>е</strong> ) ;<br />
Возьми в руку карандаш<br />
*0Ш0НИ6<br />
IW orker[] B ees = new IW o rk er[8 ];<br />
B e es [5] = n u l l ;<br />
B e e s [6] = B e e s [0] ;<br />
-RoQia.r-Tl - 1 )<br />
V<br />
М<strong>е</strong>тод MonitorPowerQ тр<strong>е</strong>би<strong>е</strong>т<br />
ссылки на обь<strong>е</strong>кт Appliance<br />
но <strong>е</strong>му можно п<strong>е</strong>р<strong>е</strong>дать ссыл- '<br />
ку misterCofFee, так как класс<br />
Согг<strong>е</strong><strong>е</strong>Мак<strong>е</strong>г явля<strong>е</strong>тся производным<br />
от класса Appliance.<br />
Тако<strong>е</strong> пов<strong>е</strong>д<strong>е</strong>ни<strong>е</strong> вы<br />
уж<strong>е</strong> наблюдали в<br />
пр<strong>е</strong>дыдуш,<strong>е</strong>й глав<strong>е</strong>,<br />
когда п<strong>е</strong>р<strong>е</strong>давали<br />
м<strong>е</strong>тоду, ожидающ<strong>е</strong>му<br />
ссылки на<br />
Sandwich, ссылки<br />
на BLT.<br />
каких знач<strong>е</strong>ниях сч<strong>е</strong>тчика пч<strong>е</strong>л i оп<strong>е</strong>раторы справа возвращ<br />
аю т знач<strong>е</strong>ни<strong>е</strong> tr u e . Сл<strong>е</strong>ва зач<strong>е</strong>ркнуты дв<strong>е</strong> строчки, пр<strong>е</strong>пятствующи<strong>е</strong><br />
компиляции.<br />
1. (Bees [i] i s IN e c ta r C o lle c to r )<br />
B e e s [0 ] = new N e c t a r S t in g e r 0 ; J<br />
B e e s [ l] = new R o b o B eeO ; М<strong>е</strong>тод<br />
о и &<br />
B e e s [2 ] = new W ork erO ; NectarStinger()<br />
р<strong>е</strong>ализу<strong>е</strong>т 2. (B e e s[i] i s i s t i n g P a t r o l )<br />
B e e s [3 ] = B e e s [0 ] a s IW orker; инт<strong>е</strong>рф<strong>е</strong>йс<br />
«iBiBoaili'iil-] — lO tei.n gP a faiwl-;'»“ istingPatrol.'^— q ^<br />
3. (B e e s[i] i s IW orker)<br />
298 глава 7