14.02.2017 Views

. Стиллмен, Дж. Грин - Изучаем 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>йс аналогична ссылк<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>йсная<br />

ссылка явля<strong>е</strong>тся вс<strong>е</strong>го лишь <strong>е</strong>щ<strong>е</strong> одним способом обратиться<br />

к уж<strong>е</strong> знакомым объ<strong>е</strong>ктам. Это оч<strong>е</strong>нь просто!<br />

О Создадим пару пч<strong>е</strong>л<br />

Вы уж<strong>е</strong> н<strong>е</strong> раз это д<strong>е</strong>лали.<br />

О<br />

о<br />

S t i n g P a t r o l b i f f = new S t i n g P a t r o l О ;<br />

т<br />

Пусть класс StingPatrol р<strong>е</strong>ализу<strong>е</strong>т инт<strong>е</strong>рф<strong>е</strong>йс<br />

IStingPatrolj а класс NectarCollector — инт<strong>е</strong>рф<strong>е</strong>йс<br />

INectarCollector.<br />

N e c t a r C o l l e c t o r b e r t h a = new N e c t a r C o l l e c t o r ( );<br />

Добавьт<strong>е</strong> ссы лки на is tin g P a tro l и IN e c ta rC o lle c to r<br />

Инт<strong>е</strong>рф<strong>е</strong>йсны<strong>е</strong> ссылки нич<strong>е</strong>м н<strong>е</strong> отличаются от ссылок<br />

любого другого типа.<br />

i s t i n g P a t r o l d e f e n d e r = b i f f ;<br />

I N e c t a r C o lle c t o r c u t i e P i e = b e r th a ;<br />

Эти два оп<strong>е</strong>ратора используют инт<strong>е</strong>рф<strong>е</strong>(лсы для<br />

создания новых ссылок на<br />

Инт<strong>е</strong>рф<strong>е</strong>йсны<strong>е</strong> ссылки м огут указывать >^олько<br />

н а экз<strong>е</strong>мпляр./ классов, р<strong>е</strong>ализую щ их инт<strong>е</strong>рф<strong>е</strong>йс.<br />

MHTepqiencHafl ссы лка позволя<strong>е</strong>т сохранить объ<strong>е</strong>кт<br />

Объ<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> ссылки позволяют<br />

спасти объ<strong>е</strong>кт от удал<strong>е</strong>ния.<br />

b i f f = n u l l ;<br />

Этот объ<strong>е</strong>кт н<strong>е</strong><br />

исч<strong>е</strong>за<strong>е</strong>т из-за<br />

ссылки defender.<br />

Назначьт<strong>е</strong> инт<strong>е</strong>рд><strong>е</strong>йсной ссы лк<strong>е</strong> новый экз<strong>е</strong>мпляр<br />

На самом д<strong>е</strong>л<strong>е</strong> вам н<strong>е</strong> нужны ссылки на объ<strong>е</strong>кты, можно<br />

создать новый объ<strong>е</strong>кт и сопоставить <strong>е</strong>го с ссылочной инт<strong>е</strong>рф<strong>е</strong>йсной<br />

п<strong>е</strong>р<strong>е</strong>м<strong>е</strong>нной.<br />

I N e c t a r C o lle c t o r g a t h e r e r = new N e c t a r S t i n g e r ( );<br />

дальш<strong>е</strong> > 293

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

Saved successfully!

Ooh no, something went wrong!