Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Инициализация структуры




При создании объекта, имеющего тип данных person, в него, однако, не вводится никаких данных. Так, если взять переменную myPerson из предыдущего примера, ввести код myPerson.name

и вычислить его, в окне приемника команд появится следующий результат: undefined

Такой результат получается потому, что в объект person не были введены данные, а следовательно, переменная myPerson оказывается пустой. Имеются три основных способа инициализации объекта данными.

 

Глава 1

1. Передать переменные в качестве позиционных и/или необязательных ключевых аргументов функции-конструктора. Позиционные аргументы указываются в том же порядке, что и отдельные элементы-члены структуры. А имена ключевых слов для функции-конструктора должны быть такими же, как и имена каждой из переменных-членов. Инициализировать же функцию-член нельзя. Если продолжить пример описания человека, то можно было бы написать следующее:

myPerson = Person "Carol" 47 68 130

myPerson = Person name:"Carol" age:47 height:68 weight: 130

myPerson = Person "Carol" weight:130

Если затем ввести переменную myPerson. name в окне приемника команд, то в качестве результата ее вычисления будет получена строка "Carol".

2. Присвоить значения переменным-членам после создания объекта. Таким образом, создается пустая переменная, которая затем инициализируется или заполняется данными. Используя рассматриваемый здесь пример описания человека, можно было бы нанисать следующее:

myPerson = Person()

myPerson.name = "Carol"

myPerson.age = 47

myPerson.height = 68

myPerson.weight = 130

Такой метод инициализации оказывает более продолжительным и чреватым ошибками, чем первый. Однако его можно применять в том случае, если данные для объекта в настоящий момент отсутствуют и должны быть введены в дальнейшем.

3. Присвоить значения переменным-членам в определении самой структуры. Следовательно, при создании переменной она будет содержать устанавливаемые по умолчанию значения данных членов структуры. Вновь обратившись к примеру описания человека, можно было бы написать следующее:

4. struct Person

(

name = "Carol", age = 47,

height = 68,

weight = 130

)

myPerson = Person()

Если затем ввести переменную myPerson.name в окне приемника команд, то в качестве результата ее вычисления будет получена строка "Carol".

Кроме того, устанавливаемые по умолчанию значения можно переопределить, передав любые данные посредством необязательных ключевых аргументов. Так, используя последнее определение структуры Person, можно было бы написать следующее: myPerson name: "Sue"

Эта переменная myPerson будет иметь значение "Sue" для свойства имени человека, тогда как значения свойств возраста, высоты и веса останутся без изменения.


Основы MAXScript




Поделиться с друзьями:


Дата добавления: 2014-10-15; Просмотров: 494; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.