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


Свойства


Мы начали эту лекцию с примера создания класса "Личность" и привели полное его описание, что позволило целиком охватить всю картину. Теперь разберем детали построения класса. Шаг за шагом построим еще один простой класс Rational, определяющий рациональные числа. Начнем построение класса, как обычно, с комментария, содержательно описывающего назначение класса, его свойства и поведение. Вот комментарий, к нашему классу:

' Класс Rational 'Определяет новый тип данных - рациональные числа и основные 'операции над ними - сложение, вычитание, умножение и деление. 'Рациональное число задается парой целых чисел (m,n) и изображается, 'обычно, в виде дроби m/n. Число m называется числителем, а 'n - знаменателем. Для каждого рационального числа существует 'множество его представлений, например, - 1/2, 2/4, 3/6, 4/8, … 'задают одно и тоже рациональное число. Среди всех представлений 'можно выделить то, в котором числитель и знаменатель несократимы. 'Именно такие представители будут храниться в нашем классе. 'Операции над рациональными числами определяются естественным 'образом. Лучшим их описанием будут соответствующие им методы.

После комментария следует описание переменных, задающих свойства класса. Это могут быть терминальные свойства, заданные обычными переменными VBA, как, например, Имя, Фамилия в классе "Личность", так и свойства - участники. Напомним, что свойства - участники это объекты других классов. Без них не обойтись, если мы строим семейство классов. Помните, что в Office 2000 нет наследования классов в классическом понимании, - его заменяет встраивание. Так что при построении семейства классов, приходится иметь дело с "толстыми" объектами, свойства которых являются объектами, имеющими свойства, являющиеся объектами и так далее. Взгляните еще раз на рисунок 1.1 первой лекции и просмотрите ее раздел "встраивание против наследования", имеющиеся там примеры поясняют ситуацию.

В разбираемом нами случае речь не идет о семействе классов, поэтому класс Rational имеет только терминальные свойства. Пояснять, что это за свойства нет необходимости. Вот их определение:

'Свойства класса Rational Private m As Integer 'числитель Private n As Integer 'знаменатель




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



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