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.

Часзцо<br />

'^ а д а В а <strong>е</strong> М ы <strong>е</strong><br />

БоП роС Ь!<br />

Поч<strong>е</strong>му им<strong>е</strong>на одних пол<strong>е</strong>й начинаются<br />

с прописной буквы, а других —<br />

со строчной? Это что-то означа<strong>е</strong>т?<br />

0 ; Да, означа<strong>е</strong>т. Для вас. Но н<strong>е</strong> для компилятора.<br />

С# вс<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>м. Вы<br />

мож<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>C#</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>нами P a r ty и p a r ty .<br />

Это н<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><br />

программы в будущ<strong>е</strong>м.<br />

1. Им<strong>е</strong>на пол<strong>е</strong>й закрытого доступа должны<br />

начинаться со строчной буквы.<br />

2. Им<strong>е</strong>на свойств и пол<strong>е</strong>й общ<strong>е</strong>го доступа<br />

должны начинаться с прописной буквы.<br />

3. Им<strong>е</strong>на парам<strong>е</strong>тров м<strong>е</strong>тодов должны<br />

начинаться со строчной буквы.<br />

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

4. В н<strong>е</strong>которых м<strong>е</strong>тодах, особ<strong>е</strong>нно это каса<strong>е</strong>тся<br />

конструкторов, им<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> используют это имя,<br />

ссылаются на парам<strong>е</strong>тр, а н<strong>е</strong> на пол<strong>е</strong>. Эта<br />

пробл<strong>е</strong>ма р<strong>е</strong>ша<strong>е</strong>тся при помощи ключ<strong>е</strong>вого<br />

слова th is, достаточно добавить<br />

<strong>е</strong>го к им<strong>е</strong>ни, и компилятор пойм<strong>е</strong>т, что вы<br />

им<strong>е</strong><strong>е</strong>т в виду пол<strong>е</strong>, а н<strong>е</strong> парам<strong>е</strong>тр.<br />

Код сод<strong>е</strong>ржит ошибки. Напишит<strong>е</strong>, в ч<strong>е</strong>м, по ваш<strong>е</strong>му мн<strong>е</strong>нию, они заключаются<br />

и как их исправить.<br />

c l a s s G um ballM achine {<br />

p r i v a t e i n t g u m b a lls;<br />

p r i v a t e i n t p r i c e ;<br />

p u b l i c i n t P r ic e<br />

■{<br />

g e t<br />

{<br />

r e t u r n p r i c e ;<br />

.p u b lic G u m b a llM a c h in e (in t g u m b a lls , i n t p r i c e<br />

g u m b a lls = t h i s . g u m b a lls ;<br />

p u b l i c s t r i n g D isp e n se O n e G u m b a ll(in t p r i c e , i n t c o i n s l n s e r t e d )<br />

{<br />

i f ( t h i s . c o i n s l n s e r t e d >= p r i c e ) { / / пров<strong>е</strong>рка поля<br />

} e l s e {<br />

}<br />

g u m b a lls -= 1;<br />

r e t u r n "Вот ваша ж <strong>е</strong>ват<strong>е</strong>льная р <strong>е</strong> зи н к а " ;<br />

r e t u r n "Сумма н <strong>е</strong> д о ст а т о ч н а " ;<br />

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

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

Saved successfully!

Ooh no, something went wrong!