. Стиллмен, Дж. Грин - Изучаем 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.
типы и ссылки<br />
ажн<strong>е</strong>ни<strong>е</strong><br />
Напишит<strong>е</strong> программу для класса e le p h a n t (слон). Получит<strong>е</strong> два экз<strong>е</strong>мпляра<br />
e le p h a n t и пом<strong>е</strong>няйт<strong>е</strong> указывающи<strong>е</strong> на них ссылки таким образом, чтобы<br />
ни один из экз<strong>е</strong>мпляров н<strong>е</strong> был уничтож<strong>е</strong>н.<br />
Начнит<strong>е</strong> с про<strong>е</strong>кта Windows Application.<br />
Форма должна выгляд<strong>е</strong>ть так;<br />
т а к о <strong>е</strong> окно.<br />
А т г р а м м а д л я<br />
S S e . t e , - " -<br />
с<br />
E le p h a n t<br />
Name<br />
EarSize<br />
WhoAmIO<br />
у б <strong>е</strong> д и т <strong>е</strong> с ь , ч т о в т <strong>е</strong> к с т <strong>е</strong><br />
с о д <strong>е</strong> р ж и т с я и н ф о р м а ц и я<br />
о р а з м <strong>е</strong> р <strong>е</strong> у х а , а с т р о к <strong>е</strong><br />
з а г о л о в к а ф и г у р и р у <strong>е</strong> т<br />
и м я с л о н а .<br />
о<br />
Класс Elephant<br />
Согласно диаграмм<strong>е</strong> классов E le p h a n t вам потр<strong>е</strong>бу<strong>е</strong>тся пол<strong>е</strong> типа i n t с названи<strong>е</strong>м E a rS iz e<br />
и пол<strong>е</strong> типа S tr in g с названи<strong>е</strong>м Name. (Уб<strong>е</strong>дит<strong>е</strong>сь в наличии модификатора public.) Добавьт<strong>е</strong><br />
м<strong>е</strong>тод WhoAmI (), вызывающий окно с информаци<strong>е</strong>й о разм<strong>е</strong>р<strong>е</strong> уха и им<strong>е</strong>ни слона.<br />
Ещ<strong>е</strong> два экз<strong>е</strong>мпляра Elephant и ссылки на них<br />
Добавьт<strong>е</strong> к классу Forml два поля E le p h a n t (сразу под объявл<strong>е</strong>ни<strong>е</strong>м класса) с им<strong>е</strong>нами Lloyd<br />
и L ucinda. Присвойт<strong>е</strong> им сл<strong>е</strong>дующи<strong>е</strong> начальны<strong>е</strong> знач<strong>е</strong>ния;<br />
l u c in d a = new E le p h a n t О { Name = "L ucinda", E a r S iz e = 33 };<br />
l l o y d = new E le p h a n t 0 { Name = "L loyd", E a r S iz e = 40 };<br />
Кнопки Lloyd и Lucinda<br />
Кнопка Lloyd должна вызывать м<strong>е</strong>тод 1 lo y d . WhoAmI<br />
WhoAmI{).<br />
, a кнопка Lucinda —м<strong>е</strong>тод l u c i n d a .<br />
Кнопка п<strong>е</strong>р<strong>е</strong>клю ч<strong>е</strong>ния<br />
Это самая сложная часть. Кнопка Swap должна пом<strong>е</strong>нять м<strong>е</strong>стами дв<strong>е</strong> ссылки. То <strong>е</strong>сть щ<strong>е</strong>лчок<br />
на н<strong>е</strong>й заставля<strong>е</strong>т п<strong>е</strong>р<strong>е</strong>м<strong>е</strong>нны<strong>е</strong> L loyd и L ucinda ссылаться на други<strong>е</strong> объ<strong>е</strong>кты и вызва<strong>е</strong>т<br />
окно с сообщ<strong>е</strong>ни<strong>е</strong>м «Objects swapped» (Зам<strong>е</strong>на объ<strong>е</strong>ктов). Посл<strong>е</strong> щ<strong>е</strong>лчка на кнопк<strong>е</strong> Swap<br />
щ<strong>е</strong>лчок на кнопк<strong>е</strong> Lloyd долж<strong>е</strong>н вызывать окно Lucinda и наоборот. Повторный щ<strong>е</strong>лчок на<br />
кнопк<strong>е</strong> Swap долж<strong>е</strong>н возвращать вс<strong>е</strong> обратно.<br />
Как только на объ<strong>е</strong>кт н<strong>е</strong> оста<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>лать это вам потр<strong>е</strong>бу<strong>е</strong>тся <strong>е</strong>щ <strong>е</strong> один, пустой стакан...