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> realName?<br />

инкапсуляция<br />

Итак, мы закончили на том, что н<strong>е</strong> знгш пароля, аг<strong>е</strong>нт КГБ н<strong>е</strong> смож<strong>е</strong>т<br />

узнать настоящ<strong>е</strong><strong>е</strong> имя аг<strong>е</strong>нта ЦРУ. Т<strong>е</strong>п<strong>е</strong>рь посмотрим на объявл<strong>е</strong>ни<strong>е</strong><br />

поля realName:<br />

Модификатор<br />

public означа<strong>е</strong>т,<br />

что п<strong>е</strong>р<strong>е</strong>м<strong>е</strong>нная<br />

доступна для<br />

р<strong>е</strong>дактирования<br />

извн<strong>е</strong> класса.<br />

piiblic s t r i n g R e al Na me;<br />

А пол<strong>е</strong>-то осталось<br />

в общ<strong>е</strong>м доступ<strong>е</strong>...<br />

Так зач<strong>е</strong>м мн<strong>е</strong> тогда<br />

пароль? Я могу узнать<br />

имя и б<strong>е</strong>з н<strong>е</strong>го! s trin g<br />

name = ciaAgent.RealName;<br />

для npocMoiMpa.<br />

Для сохран<strong>е</strong>ния тайны аг<strong>е</strong>нту <strong>Дж</strong>онсу нужно использовать поля ^<br />

закры того доступа. Стоит объявить пол<strong>е</strong> realN am e с модификатором<br />

private, <strong>е</strong>динств<strong>е</strong>нным способом узнать информацию стан<strong>е</strong>т<br />

вызов м<strong>е</strong>тода им<strong>е</strong>ющих доступ к закрытым эл<strong>е</strong>м<strong>е</strong>там класса. И аг<strong>е</strong>нт<br />

КГБ остан<strong>е</strong>тся с носом!<br />

Зам<strong>е</strong>нив public<br />

ка private, вы<br />

скро<strong>е</strong>т<strong>е</strong> пол<strong>е</strong> от<br />

он<strong>е</strong>шн<strong>е</strong>го Мира.<br />

- ^ p r i v a t e s t r i n g re al Na me;<br />

объ<strong>е</strong>кт каЬАд<strong>е</strong>пЬ н<strong>е</strong><br />

мож<strong>е</strong>т «бид<strong>е</strong>ть» закрыты<strong>е</strong><br />

поля объ<strong>е</strong>к-<br />

принадл<strong>е</strong>жит другому<br />

классу.<br />

Модификатор private<br />

, гарантиру<strong>е</strong>т, что<br />

вн<strong>е</strong>шний код н<strong>е</strong> смож<strong>е</strong>т<br />

отр<strong>е</strong>дактировать<br />

знач<strong>е</strong>ния пол<strong>е</strong>й б<strong>е</strong>з<br />

ваш<strong>е</strong>го в<strong>е</strong>дома.<br />

ябля<strong>е</strong>тся пол<strong>е</strong>, о к<br />

хранится пароль.<br />

р<br />

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

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

Saved successfully!

Ooh no, something went wrong!