Основы офисного программирования и язык VBA


           

Создание класса "Личность"


В предыдущей лекции о типах данных мы ввели пользовательский тип Person. Там же мы показали, что прямой доступ к полям записи позволяет программисту свободно работать с данными этого типа. И все же Person в чем-то "ущербен"... А не хватает ему собственных операций: если бы наши переменные Петров и Козлов имели тип, например, Integer, можно было бы их сравнивать, складывать и умножать, присваивать значения и многое другое. Понятно, что умножение данных типа Person вряд ли разумно, но зато для него можно определить свои операции. Вот, например, какие операции можно определить для этого типа:

  • InitPerson- инициализация полей записи;
  • PrintPerson- печать полей записи;
  • CopyPerson(Source As Person) - копирование источника (записи Source) - аналог оператора присвоения;
  • WhoIs - более специфическая операция, с определенной достоверностью определяющая пол, анализируя имя и фамилию.

Всякий раз при определении пользовательского типа, так или иначе, но следует определить операции над данными этого типа. Естественно собрать определение типа и операции над ним в одном месте. Такое объединение представляет уже почти полное, с точностью до событий определение типа. Для типов, определенных подобным образом, введен новый термин - класс .

Синтаксически классы в VBA оформляются в виде модуля класса . Поэтому начинать создание класса в Редакторе Visual Basic нужно с выбора в меню Insert пункта Class Module. Этот модуль имеет такую же структуру, как и стандартный модуль, о котором мы подробно уже рассказали. Модуль состоит из двух разделов - объявлений и методов. В первом из них естественным образом описываются свойства класса, а во втором - его методы. И здесь действуют спецификаторы области действия Public и Private. Public - свойства и Public -методы составляют интерфейс класса. Только к этим свойствам и методам можно обращаться при работе с объектами класса, объявленными в других модулях, где класс является видимым.

Мы расширили ранее созданный тип Person до класса, названного нами Личность, путем добавления операций над данными класса.

Содержание  Назад  Вперед





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий