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 />

инкапсуляция при помои^и сВойстВ<br />

Свойства (properties) объ<strong>е</strong>диняют функции пол<strong>е</strong>й и м<strong>е</strong>тодов. Они используются для чт<strong>е</strong>ния<br />

и записи вспомогат<strong>е</strong>льного поля (backing field). Им<strong>е</strong>нно так называ<strong>е</strong>тся пол<strong>е</strong>, заданно<strong>е</strong><br />

свойством.<br />

Закрыто<strong>е</strong> пол<strong>е</strong> numherOfCo^s стан<strong>е</strong>т<br />

в ^м о га т <strong>е</strong> льн ы м м л <strong>е</strong> м свойства<br />

p r i v a t e int n i m b e r O f C o w S ; N u m berO fC ow s.<br />

i n t K u ^ e . 0 . c o „ s<br />

{<br />

М<strong>е</strong>тод чт<strong>е</strong>ния вызыва<strong>е</strong>тся каждый раз,<br />

}<br />

r e t u r n n u m b e r O f C o w s ;<br />

записи<br />

n u m b e r O f C o w s = value;<br />

B a g s O f F e e d = n u m b e r O f C o w s * F e e d M u l t i p l i e r ;<br />

М<strong>е</strong>тоды чт<strong>е</strong>ния и записи используют так ж<strong>е</strong>, как поля. Вот код<br />

для кнопки, которая зада<strong>е</strong>т колич<strong>е</strong>ство коров, а в отв<strong>е</strong>т получа<strong>е</strong>т<br />

колич<strong>е</strong>ство м<strong>е</strong>шков с кормом:<br />

p r i v a t e v o i d b u t t o n l _ C l i c k ( o b j e c t se n d e r , E v en tA rg s e) {<br />

Farm er myFarmer = new F a rm er();<br />

myFarmer.NumberOfCows = 10;<br />

В этой строчк<strong>е</strong> м <strong>е</strong> ­<br />

тод записи зада<strong>е</strong>т<br />

знач<strong>е</strong>ни<strong>е</strong> закрытого<br />

поля numberOfCows<br />

и т<strong>е</strong>м самым обновля<strong>е</strong>т<br />

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

BagsOfFeed.<br />

i n t howManyBags = m yF arm er.B agsO fFeed;<br />

myFarmer.NumberOfCows = 20;<br />

howManyBags = m yF arm er.B agsO fFeed;<br />

^<br />

Так как м<strong>е</strong>тод записи<br />

' NumberOfCows обновил<br />

пол<strong>е</strong> BagsOfFeed, вы<br />

мож<strong>е</strong>т<strong>е</strong> получить <strong>е</strong>го<br />

знач<strong>е</strong>ни<strong>е</strong>.<br />

враш,ающий знач<strong>е</strong>ни<strong>е</strong> 300.<br />

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

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

Saved successfully!

Ooh no, something went wrong!