ПОНЯТНО О Visual Basic NET (том 3)


Инкапсуляция – «Объект в футляре» - часть 3


А теперь о том, нужно ли все данные делать свойствами, то есть делать их видимыми отовсюду. Дело вкуса. Покуда вы не делаете их свойствами для чтения-записи, это не влияет на надежность объекта. Сами решайте, нужно ли всем желающим видеть высоту сидений и величину тока. Конечно, когда речь идет о реальном игрушечном автомобиле, все получается как-то само собой: что снаружи – видно, что изнутри – не видно и ничего тут не поделаешь. Но у программиста имеется полная свобода любое данное сделать или не сделать свойством, в том числе и для чтения-записи, и любое действие сделать или не сделать методом.

Инкапсуляция. При создании объектов программисты стараются придерживаться принципа инкапсуляции, который заключается в следующем:

Данные и действия объекта представляют собой единое целое, образующее всю механику объекта, и хранятся они в одной «упаковке». Упаковкой этой, является, как вы понимаете, класс. Они должны быть как можно меньше видимы снаружи. Хорошо инкапсулированный объект представляет собой некий «черный ящик», эдакого «человека в футляре». Вся работа идет внутри. Внутренние данные меняются при помощи внутренних действий. Никто снаружи не может вмешаться в эту внутреннюю работу. Наружу показывается лишь тот минимум (интерфейс), который необходим для связи с окружающим миром.

Влиять снаружи на работу объекта можно только тремя способами:

  • Методами
  • Изменяя значения свойств для чтения-записи
  • Изменяя свойства окружающего мира, например, положив на пути автомобиля камешек.

Инкапсуляция – то, что объединяет объекты в программировании с объектами реального мира. Возьмите летящий высоко самолет. Вы не можете снаружи ни видеть работу его двигателя, ни как-то повлиять на нее.  Вы вообще никак не можете повлиять на самолет ни в чем. Общаетесь вы с ним не тогда, когда хотите вы, а когда хочет он и по правилам, которые устанавливаются не вами (например, в аэропорту).

Все вышесказанное является введением в идеологию объектного программирования. Как мне кажется, это введение поможет вам легче разобраться в механике работы реальных объектов, создаваемых вами на компьютере.




Начало  Назад  Вперед



Книжный магазин