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


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


  • Те, что можно произвольно менять снаружи. Вообразим, например, что любой прохожий, вооружившись кистью, ведром краски и крюком, может произвольно поменять цвет, номер и скорость проезжающего автомобиля. В реальной жизни так не бывает, но в программировании это сделать очень легко. Назовем их свойствами для чтения-записи.
  • Те, что снаружи менять нельзя (у нас это последние 4 данных из списка). Назовем их свойствами только для чтения.

Очевидно, что данные, которые не видны снаружи, и менять снаружи тоже нельзя. В программировании это локальные переменные или модульные переменные, объявленные модификаторами Dim или Private.

Методы. Действия будем делить на те, которые можно вызывать снаружи (первые 2 действия из списка), и те, что вызываются внутренней механикой автомобиля (остальные). Действия, вызываемые снаружи, назовем методами объекта. В программировании это процедуры и функции, объявленные, например, словом Public. Если процедура или функция объявлена словом Private, то снаружи она не видна и методом не является.

Надежность, защищенность, простота. Создатель нашего игрушечного автомобиля при его конструировании стремится к тому, чтобы автомобиль был надежен, защищен и просто управлялся. Для этого он должен придерживаться двух принципов:

  • Количество методов должно быть минимально необходимым. Разгон, торможение, поворот налево и направо. Этого достаточно. Если разрешить управлять с пульта жужжанием двигателя и тонким процессом изменения скорости вращения колес при изменении тока в двигателе, то недолго и сжечь двигатель, нажав на пульте не ту комбинацию кнопок.
  • Количество свойств для чтения-записи должно быть минимальным. Действительно, вообразим крайний случай: все данные мы сделали свойствами, да еще и для чтения-записи. Тогда любой, кому не лень, сможет в любой момент менять, например, величину тока в двигателе, что немедленно приведет к катастрофе. Или, например, вообразите, что вы мчитесь в автомобиле, а любой прохожий может протянуть руку и покрутить баранку вашего автомобиля.



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