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.

типы и ссылки<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> один, пустой стакан...

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

Saved successfully!

Ooh no, something went wrong!