. Стиллмен, Дж. Грин - Изучаем 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 />
c l a s s B ir th d a y P a r ty : P a r ty {<br />
p u b lic i n t C a k eS ize;<br />
p u b l i c B ir t h d a y P a r t y ( in t n u m berO fP eop le, b o o l f a n c y D e c o r a t io n s , s t r i n g c a k e W ritin g )<br />
: b a se(n u m b er O fP e o p le, f a n c y D e c o r a tio n s )<br />
}<br />
C a lc u la t e C a k e S iz e ( );<br />
t h is .C a k e W r itin g = c a k e W r itin g ;<br />
C a lc u la t e C o s t O fD e c o r a tio n s ( f a n c y D e c o r a t io n s )<br />
p r i v a t e v o id C a lc u la te C a k e S iz e !<br />
i f (Num berO fPeople m axLength) {<br />
M essageB ox.Sh ow ("T oo many l e t t e r s f o r a " + C a k eS iz e + " in c h cake")<br />
i f (m axLength > t h i s . c a k e W r it in g . L ength)<br />
m axLength = t h is .c a k e W r it in g .L e n g t h ;<br />
t h i s .c a k e W r i t in g = c a k e W r i t in g .S u b s t r in g (0, m axL ength);<br />
} e l s e<br />
t h i s . c a k e W r itin g = v a lu e ;<br />
М<strong>е</strong>тод CalculateCostQ и з <br />
да<strong>е</strong>тся в п <strong>е</strong>р <strong>е</strong>кр ы т и и ,, так<br />
^ к с т ч а л а ^ в ш и с л я <strong>е</strong> т <strong>е</strong><br />
p u b l i c o v e r r id e d e c im a l C a lc u la t e C o s t O 0 {<br />
d e c im a l C akeC ost;<br />
i f (C a k eS ize == 8)<br />
C akeC ost = 40M + C a k e W r itin g .L e n g th *<br />
}<br />
e l s e<br />
C akeC ost = 75M + C a k e W r itin g . L en g th *<br />
r e t u r n b a s e . C a l c u l a t e C o s t () + C akeC ost;<br />
p u b l i c o v e r r id e i n t N um berO fPeople {<br />
g e t { r e t u r n b a se.N u m b erO fP eo p le; }<br />
s e t {<br />
b a se.N u m b erO fP eo p le = v a lu e ;<br />
C a lc u la t e C a k e S iz e () ;<br />
t h i s . C a k eW ritin g = c a k e W r itin g ;<br />
.25M;<br />
.25M;<br />
cmouMocmt><br />
. т ом кот ит <strong>е</strong> добавить <strong>е</strong><strong>е</strong><br />
к сум м <strong>е</strong>,<br />
т а л м<strong>е</strong>тод CalculateCostQ<br />
из класса Party.<br />
3dect> свойство NumberOfPeople<br />
должно п<strong>е</strong>р<strong>е</strong>крывать одноим<strong>е</strong>нно<strong>е</strong><br />
свойство из класса P arty, т ак как<br />
м<strong>е</strong>т оду записи нужно п<strong>е</strong>р<strong>е</strong>счит ат ь<br />
^ разм<strong>е</strong>р т орта. При эт ом вызы-<br />
\ ва<strong>е</strong>тся base.NumberOfPeople, что<br />
провоциру<strong>е</strong>т выполн<strong>е</strong>ни<strong>е</strong> м<strong>е</strong>тода<br />
записи из класса Party.<br />
--------- ► ||]=*оДоЛЖ<strong>е</strong>ни<strong>е</strong> н а с. 272-<br />
дальш<strong>е</strong> ► 271