. Стиллмен, Дж. Грин - Изучаем 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>рам<br />
Подозр<strong>е</strong>ва<strong>е</strong>м, что на ваш<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>съ<strong>е</strong>добной,<br />
в<strong>е</strong>дь сод<strong>е</strong>ржимо<strong>е</strong> <strong>е</strong>мкост<strong>е</strong>й при этом м<strong>е</strong>стами н<strong>е</strong> пом<strong>е</strong>нялось. Аналогично<br />
д<strong>е</strong>йствуют ссылки. Ярлыки можно пом<strong>е</strong>нять м<strong>е</strong>стами и заставить указывать<br />
на разны<strong>е</strong> в<strong>е</strong>щи, но каки<strong>е</strong> им<strong>е</strong>нно данны<strong>е</strong> и м<strong>е</strong>тоды будут доступны, опр<strong>е</strong>д<strong>е</strong>ля<strong>е</strong>т<br />
только сам объ<strong>е</strong>кт, а н<strong>е</strong> ссылка на н<strong>е</strong>го.<br />
Это объ<strong>е</strong>кт типа<br />
^иу. Он ОДИН, но на<br />
н<strong>е</strong>го МНОГО ссылок<br />
М<strong>е</strong>тод b u tto n l Clirîf Ar,<br />
мы Form l сод<strong>е</strong>южи^<br />
Для работы с хранящимися<br />
в памяти<br />
объ<strong>е</strong>ктами используются<br />
ссылки,<br />
которы<strong>е</strong> являются<br />
п<strong>е</strong>р<strong>е</strong>м<strong>е</strong>ппыми. Тип<br />
этих п<strong>е</strong>р<strong>е</strong>м<strong>е</strong>нных<br />
опр<strong>е</strong>д<strong>е</strong>ля<strong>е</strong>тся классом<br />
объ<strong>е</strong>кта, на который<br />
они ссылаю<br />
тся.<br />
П<strong>е</strong>р<strong>е</strong>м<strong>е</strong>нная<br />
«папа» явля<strong>е</strong>тся<br />
ссылкой на экз<strong>е</strong>м <br />
пляр класса Quy.<br />
^т о ссылочны<strong>е</strong><br />
’л<strong>е</strong>р<strong>е</strong>м<strong>е</strong>нны<strong>е</strong>,<br />
указывающи<strong>е</strong> на<br />
ОДИН И ТОТ ЖЕ<br />
ооь<strong>е</strong>кт.<br />
Обращ<strong>е</strong>ни<strong>е</strong> к объ<strong>е</strong>кту никогда н<strong>е</strong> проиходит напрямую. К прим<strong>е</strong>ру, н<strong>е</strong>возможно<br />
записать G u y . G iv e C a s h {), <strong>е</strong>сли G uy принадл<strong>е</strong>жит типу object.<br />
Компилятор н<strong>е</strong> понима<strong>е</strong>т, куда им<strong>е</strong>нно вы обраща<strong>е</strong>т<strong>е</strong>сь, так как в куч<strong>е</strong> мож<strong>е</strong>т<br />
храниться н<strong>е</strong>сколько эк<strong>е</strong>мпляров G uy. Вам нужна ссылочная п<strong>е</strong>р<strong>е</strong>м<strong>е</strong>нная,<br />
наприм<strong>е</strong>р, j o e , которой буд<strong>е</strong>т присво<strong>е</strong>н конкр<strong>е</strong>тный экз<strong>е</strong>мпляр G uy<br />
j о <strong>е</strong> - n e w Guy().<br />
Различны<strong>е</strong> м<strong>е</strong>тоды м о <br />
гут использовать эк-<br />
ссь/лоч-<br />
НЫМ п <strong>е</strong> р <strong>е</strong> м <strong>е</strong> н н ы м р а <br />
з у м н о п р и с в о и т ь р а з н ы <strong>е</strong><br />
в зависимости от<br />
конт<strong>е</strong>кста.<br />
Т<strong>е</strong>п<strong>е</strong>рь можно вызывать м<strong>е</strong>тоды j о <strong>е</strong> . G iv e C a s h ( ), в<strong>е</strong>дь компилятор «зна<strong>е</strong>т»,<br />
к какому экз<strong>е</strong>мпляру обратиться. Как показано на рисунк<strong>е</strong>, возмож<strong>е</strong>н<br />
набор ссылок на один экз<strong>е</strong>мпляр. Можно написать G uy d a d = j о <strong>е</strong> и вызвать<br />
м<strong>е</strong>тод d a d . G iv e C a s h о (папа.ДайД<strong>е</strong>н<strong>е</strong>г()). Им<strong>е</strong>нно этим сын <strong>Дж</strong>о занима<strong>е</strong>тся<br />
каждый д<strong>е</strong>нь!<br />
дальш<strong>е</strong> ► 169