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 />

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

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

Saved successfully!

Ooh no, something went wrong!