. Стиллмен, Дж. Грин - Изучаем 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>роприятий, б<strong>е</strong>рсия 2.0<br />
Начнит<strong>е</strong> новый про<strong>е</strong>кт, мы сд<strong>е</strong>ла<strong>е</strong>м для Кэтлин в<strong>е</strong>рсию программы,<br />
которая смож<strong>е</strong>т рассчитать стоимость дн<strong>е</strong>й рожд<strong>е</strong>ния и званых об<strong>е</strong>дов.<br />
Начн<strong>е</strong>м с инкапсулированного класса B i r t h d a y P a r t y , который<br />
и буд<strong>е</strong>т выполнять вс<strong>е</strong> расч<strong>е</strong>ты.<br />
-ажн<strong>е</strong>ни<strong>е</strong>!<br />
Новый класс BirthdayParty<br />
Вы уж<strong>е</strong> зна<strong>е</strong>т<strong>е</strong>, что нужно д<strong>е</strong>лать со свойством N u m b e rO f<br />
P e o p l e и м<strong>е</strong>тодом C o s t O f D e c o r a t i o n s , вы с ними встр<strong>е</strong>чались<br />
в класс<strong>е</strong> D i n n e r P a r t y . Добавим в новый класс сначала их.<br />
★<br />
c l a s s B ir th d a y P a r ty {<br />
Добавьт<strong>е</strong> пол<strong>е</strong> общ<strong>е</strong>го доступа типа int с им<strong>е</strong>н<strong>е</strong>м<br />
C a k e S iz e (Разм<strong>е</strong>р торта). Потом вы добавит<strong>е</strong> закрытый<br />
м<strong>е</strong>тод C a l c u l a t e C a k e S i z e () (Вычислить разм<strong>е</strong>р<br />
торта), присваивающий полю C a k e S iz e знач<strong>е</strong>ни<strong>е</strong> 8 или<br />
16 в зависимости от колич<strong>е</strong>ства гост<strong>е</strong>й. Но начн<strong>е</strong>м мы<br />
с конструктора и м<strong>е</strong>тода записи N u m b e r O fP e o p le .<br />
p u b l i c c o n s t i n t C o stO fF o o d P erP erso n = 25;<br />
p u b l i c d e c im a l C o s tO fD e c o r a tio n s = 0;<br />
p r i v a t e b o o l f a n c y D e c o r a t io n s ;<br />
p u b l i c 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 nu m berO fP eop le,<br />
Уб<strong>е</strong>дит<strong>е</strong>сь в наличии оп<strong>е</strong>ратора using<br />
в в<strong>е</strong>рхн<strong>е</strong>й части класса, так как вам п о <br />
тр<strong>е</strong>бу<strong>е</strong>тся м<strong>е</strong>тод MessageBox. ShowQ.<br />
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 />
Поля и свойства, сод<strong>е</strong>ржащи<strong>е</strong><br />
информацию<br />
о д<strong>е</strong>н<strong>е</strong>жных<br />
суммах, должны<br />
^принадл<strong>е</strong>жать типу<br />
decimal.<br />
BirthdayParty<br />
NumberOfPeople<br />
CostOfDecorations<br />
CakeSize<br />
CakeWriting<br />
CalculateCostOfDecorationsO<br />
CalculateCostO<br />
Для инициализации объ<strong>е</strong>кта<br />
BirthdayParty н<strong>е</strong>обходимы данны<strong>е</strong><br />
о колич<strong>е</strong>ств<strong>е</strong> гост<strong>е</strong>й, вид<strong>е</strong><br />
оформл<strong>е</strong>ния и надписи на торт<strong>е</strong>.<br />
^ В этом случа<strong>е</strong> при вызов<strong>е</strong> м<strong>е</strong>тода<br />
/ CalculateCostO стоимость буд<strong>е</strong>т<br />
/ правильно рассчитана.<br />
th is.n u m b e r O fP e o p le = n u m b erO fP eo p le;<br />
t h i s . fa n c y D e c o r a t io n s = f a n c y D e c o r a t io n s ;<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 />
C a lc u la t e C o s t O f D e c o r a t io n s ( f a n c y D e c o r a t io n s ) ;<br />
Для подсч<strong>е</strong>та стоимости<br />
надписи на торт<strong>е</strong> конструктор<br />
вызыва<strong>е</strong>т м<strong>е</strong>тод записи.<br />
Чтобы понять, н<strong>е</strong> явля<strong>е</strong>тся ли<br />
эт от парам<strong>е</strong>тр слиилком<br />
большим, сначала нужно у з <br />
нать разм<strong>е</strong>р торта.<br />
Конст рукт ор зада<strong>е</strong>т свойства,<br />
а зат<strong>е</strong>м начина<strong>е</strong>т вычисл<strong>е</strong>ния.<br />
234 глава 6