Функция-конструктор структуры

Синтаксис структуры

Структуры

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

• Человек

• Имя: Кэрол

• Возраст: 47 лет

• Рост: 68 дюймов (около 173 см)

• Вес: 130 фунтов (около 60 кг)

Аналогичная логическая последовательность используется для создания нового типа данных в MAXScript с использованием определений структур.

Сначала создается определение структуры, а затем ее экземпляр. Процесс по­лучения нового экземпляра называется реализацией. При этом вновь полученный экземпляр содержит все свойства и методы структуры. После создания такой объект будет вести себя так же, как и элементы остальных типов данных, присущих MAXScript. Ниже представлены правила создания структуры.

Правила создания структуры следующие.

• Структура должна начинаться с ключевого слова struct.

• После ключевого слова struct должно следовать любое имя.

• Далее должны следовать открытые скобки.

• Структура должна содержать одну или более дополнительных переменных, которые ее описывают. Эти переменные должны быть отделены одна от другой запятыми (,). Такие переменные называются переменными-членами, поскольку они принадлежат структуре или являются членами группы,


Основы MAXScript

состоящей из элементов данных определенных типов и функций, совместно образующих структуру.

• Структура может содержать несколько функций-членов либо не содержать их вовсе.

• После последней переменной или функции-члена в структуре запятая не ставится.

• Далее должны следовать закрывающие круглые скобки.

Ниже приведен пример структуры рассмотренного выше описания человека.

struct Person

(

name,

age,

height,

weight

)

 

Для построения объекта человека следует создать переменную и присвоить ей результат выполнения специальной функции-конструктора с таким же именем, которое имеет структура. Такие функции-конструкторы действуют аналогично стандартным функциям и могут воспринимать как позиционные, так и ключевые аргументы, например: myPerson = Person()

В данном примере myPerson — это переменная, принимающая значение от функции-конструктора Person, которая используется с круглыми скобками (т.е. без аргументов).

Значение переменной myPerson можно теперь использовать аналогично любому другому числовому или строковому значению в MAXScript, в частности получить доступ к свойствам данной переменной, передать ее соответствующим функциям и вывести результаты в окне приемника команд.