. Стиллмен, Дж. Грин - Изучаем 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> понимаю. Закрыто<strong>е</strong> пол<strong>е</strong> н<strong>е</strong><br />
позволя<strong>е</strong>т другом классу использовать с<strong>е</strong>бя. Но <strong>е</strong>сли<br />
пом<strong>е</strong>нять private на public програллма вс<strong>е</strong> равно буд<strong>е</strong>т<br />
постро<strong>е</strong>на! А вот добавл<strong>е</strong>ни<strong>е</strong> модификатора private<br />
д<strong>е</strong>ла<strong>е</strong>т компиляцию н<strong>е</strong>возможной. Зач<strong>е</strong>м мн<strong>е</strong> тогда<br />
вообщ<strong>е</strong> <strong>е</strong>го использовать?<br />
Потому что иногда возника<strong>е</strong>т н<strong>е</strong>обходимость<br />
скрыть н<strong>е</strong>кую информацию от остальной части<br />
программы.<br />
Большинство пользоват<strong>е</strong>л<strong>е</strong>й поначалу н<strong>е</strong> могут принять<br />
ид<strong>е</strong>ю инкапсуляции, так как н<strong>е</strong> понимают, зач<strong>е</strong>м<br />
нужно скрывать поля, м<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>т классы...<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>ния информации —<br />
эти м<strong>е</strong>тоды н<strong>е</strong> нужны никакому другому классу. Часто поля, м<strong>е</strong>тоды<br />
и свойства одного класса сов<strong>е</strong>рш<strong>е</strong>нно н<strong>е</strong> нужны в других частях<br />
программы. Пом<strong>е</strong>тив их словом private, вы уб<strong>е</strong>р<strong>е</strong>т<strong>е</strong> их из окна<br />
IntelliSense.<br />
★<br />
•к<br />
Л<strong>е</strong>гкими в управл<strong>е</strong>нии<br />
Вспомнит<strong>е</strong> программу Кэтлин? Пробл<strong>е</strong>ма возникала потому, что<br />
форма им<strong>е</strong>ла н<strong>е</strong>поср<strong>е</strong>дств<strong>е</strong>нный доступ к полю. Если бы пол<strong>е</strong> было<br />
закрытым, программа работала бы правильно.<br />
Гибкими<br />
Иногда по прош<strong>е</strong>ствии вр<strong>е</strong>м<strong>е</strong>ни возника<strong>е</strong>т н<strong>е</strong>обходимость вн<strong>е</strong>сти<br />
в программу изм<strong>е</strong>н<strong>е</strong>ния. С хорошо инкапсулированными классами<br />
н<strong>е</strong> возника<strong>е</strong>т вопросов по их дгшьн<strong>е</strong>йш<strong>е</strong>му использованию.<br />
Инкапсуляция<br />
означа<strong>е</strong>т скрыти<strong>е</strong><br />
информации<br />
одного<br />
класса от другого.<br />
Она помога<strong>е</strong>т<br />
пр<strong>е</strong>дотвратить<br />
появл<strong>е</strong>ни<strong>е</strong><br />
ошибок.<br />
ШTVP»Л<br />
Как плохо инкапсулированны<strong>е</strong> классы могут пом<strong>е</strong>шать<br />
р<strong>е</strong>дактированию программы в будущ<strong>е</strong>м?<br />
дальш<strong>е</strong> > 213