Функция-конструктор структуры
Синтаксис структуры
Структуры
Выше были представлены основные типы данных, в том числе целые числа, числа с плавающей точкой и строки. Эти типы данных являются основополагающими для MAXScript. Тем не менее это самые элементарные типы данные, в чем и состоит их главный недостаток. Истинный потенциал объектно-ориентированных языков программирования состоит в том, что они допускают абстракцию понятий на более высоком уровне типа данных или класса. Нетрудно, в частности, заметить, насколько удачно целочисленный класс подходит для абстракции чисел. Но что если в компьютерной программе требуется обобщить понятие более высокого уровня, например описать автомобиль, род занятий или человека? Человека можно описать по имени (строка), возрасту (целое число), росту (число с плавающей точкой), весу (число с плавающей точкой) и прочим признакам. Следовательно, о человеке можно составить следующее представление.
• Человек
• Имя: Кэрол
• Возраст: 47 лет
• Рост: 68 дюймов (около 173 см)
• Вес: 130 фунтов (около 60 кг)
Аналогичная логическая последовательность используется для создания нового типа данных в MAXScript с использованием определений структур.
Сначала создается определение структуры, а затем ее экземпляр. Процесс получения нового экземпляра называется реализацией. При этом вновь полученный экземпляр содержит все свойства и методы структуры. После создания такой объект будет вести себя так же, как и элементы остальных типов данных, присущих MAXScript. Ниже представлены правила создания структуры.
Правила создания структуры следующие.
• Структура должна начинаться с ключевого слова struct.
• После ключевого слова struct должно следовать любое имя.
• Далее должны следовать открытые скобки.
• Структура должна содержать одну или более дополнительных переменных, которые ее описывают. Эти переменные должны быть отделены одна от другой запятыми (,). Такие переменные называются переменными-членами, поскольку они принадлежат структуре или являются членами группы,
Основы MAXScript
состоящей из элементов данных определенных типов и функций, совместно образующих структуру.
• Структура может содержать несколько функций-членов либо не содержать их вовсе.
• После последней переменной или функции-члена в структуре запятая не ставится.
• Далее должны следовать закрывающие круглые скобки.
Ниже приведен пример структуры рассмотренного выше описания человека.
struct Person
(
name,
age,
height,
weight
)
Для построения объекта человека следует создать переменную и присвоить ей результат выполнения специальной функции-конструктора с таким же именем, которое имеет структура. Такие функции-конструкторы действуют аналогично стандартным функциям и могут воспринимать как позиционные, так и ключевые аргументы, например: myPerson = Person()
В данном примере myPerson — это переменная, принимающая значение от функции-конструктора Person, которая используется с круглыми скобками (т.е. без аргументов).
Значение переменной myPerson можно теперь использовать аналогично любому другому числовому или строковому значению в MAXScript, в частности получить доступ к свойствам данной переменной, передать ее соответствующим функциям и вывести результаты в окне приемника команд.