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>йсы и абстрактны<strong>е</strong> классы<br />

Классы, для которых н<strong>е</strong>допустимо создани<strong>е</strong><br />

экз<strong>е</strong>мпляров<br />

Помнит<strong>е</strong> и<strong>е</strong>рархию классов, использованную для симулятора зоопарка? Закончили<br />

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

входят и классы C anine и F e lin e , а такж<strong>е</strong> базовый класс Anim al. Дума<strong>е</strong>м,<br />

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

смысла. Рассмотрим дополнит<strong>е</strong>льный прим<strong>е</strong>р:<br />

Начн<strong>е</strong>м с базового класса, описывающ<strong>е</strong>го пов<strong>е</strong>д<strong>е</strong>ни<strong>е</strong> студ<strong>е</strong>нтов<br />

в магазин<strong>е</strong>.<br />

ShQPBer...<br />

TotalSpent<br />

Credilim it<br />

ShopTillYouDropO<br />

BuyFavoriteStuffO<br />

c l a s s S h o p p er {<br />

p u b l i c v o i d S h o p T illY o u D r o p ()<br />

w h ile (T o ta lS p e n t < C r e d itL im it) ArtStudent Engineering<br />

Student<br />

B u y F a v o r it e S t u f f 0 ;<br />

}<br />

p u b l i c v i r t u a l v o i d B u y F a v o r it e S t u f f 0 {<br />

/ / Р<strong>е</strong>ализация зд <strong>е</strong> с ь н <strong>е</strong>ум <strong>е</strong>стна - мы н<strong>е</strong> зн а<strong>е</strong>м ,<br />

/ / что любит покупать наш ст у д <strong>е</strong> н т !<br />

BuyFavoriteStuffO<br />

BuyFavoriteStuffO<br />

}<br />

}<br />

Класс A r t S t u d e n t производный от класса S h o p p e r :<br />

c l a s s ArtStudent : Sh opp er {<br />

p u b l i c o v e r r id e v o id B u y F a v o r it e S t u f f () {<br />

B u y A r tS u p p lie s 0 ;<br />

Г /<br />

Классы A rtStudent<br />

и EngineeringStudent<br />

п<strong>е</strong>р<strong>е</strong>крывают м<strong>е</strong>мод<br />

BuyFavoriteStuffQ.<br />

Они покупают разны<strong>е</strong><br />

книги.<br />

}<br />

B u y B la c k T u r tle n e c k s ( );<br />

B u y D e p r e ss in g M u sic ( ) ;<br />

}<br />

И класс E n g i n e e r i n g S t u d e n t насл<strong>е</strong>ду<strong>е</strong>т от класса S h o p p e r :<br />

c l a s s EngineeringStudent : Sh opp er {<br />

p u b l i c o v e r r id e v o id B u y F a v o r it e S t u f f<br />

О {<br />

B u y P e n c il s {);<br />

B u y G r a p h in g C a lc u la to r { );<br />

B u y P o c k e t P r o t e c t o r 0 ;<br />

}<br />

}<br />

Ч то п р о и зо й д <strong>е</strong> т с п о я в л <strong>е</strong>ни<strong>е</strong>м экз<strong>е</strong> м п л я р а кл а с с а S h o p p e r? И м <strong>е</strong> <strong>е</strong>т л и см ы сл <strong>е</strong>го со зд а в а ть ?<br />

дальш<strong>е</strong> > 309

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

Saved successfully!

Ooh no, something went wrong!