игра брюс 2048
Главная / Программирование / Flash MX для профессиональных программистов / Тест 6

Flash MX для профессиональных программистов - тест 6

Упражнение 1:
Номер 1
Класс во Флэш МХ задается:

Ответ:

 (1) прототипом, к которому прикреплен конструктор 

 (2) конструктором, к которому прикреплен прототип 

 (3) только прототипом 

 (4) только конструктором 


Номер 2
Оператор MyClass() выполнится корректно, если MyClass является

Ответ:

 (1) прототипом, к которому прикреплен конструктор 

 (2) конструктором, к которому прикреплен прототип 

 (3) любым объектом 

 (4) любой функцией 


Номер 3
Может ли произвольный объект быть прототипом класса?

Ответ:

 (1) да 

 (2) нет 

 (3) только объект типа function 

 (4) только если в объекте есть поле constructor 


Упражнение 2:
Номер 1
Если в конструкторе заводится поле а при помощи записи  а = 5 (без использования this), то это поле появится

Ответ:

 (1) в кадре, внутри которого определен конструктор 

 (2) в кадре, внутри которого вызван new 

 (3) в создаваемом объекте 

 (4) в прототипе 


Номер 2
Если в конструкторе заводится поле а при помощи записи  this.а = 5, то это поле появится

Ответ:

 (1) в кадре, внутри которого определен конструктор 

 (2) в кадре, внутри которого вызван new 

 (3) в создаваемом объекте 

 (4) в прототипе 


Номер 3
Может ли произвольная функция использоваться в качестве конструктора класса?

Ответ:

 (1) да 

 (2) нет 

 (3) только если к ней по ссылке __proto__ прикреплен прототип 

 (4) только если к ней по ссылке prototype прикреплен прототип 


Упражнение 3:
Номер 1
Ссылка constructor указывает на

Ответ:

 (1) конструктор класса 

 (2) объект-прототип класса 

 (3) конструктор прототипа 


Номер 2
Как завести новые методы в прототипе готового класса, имея ссылку cnstr, указывающую на конструктор этого класса?

Ответ:

 (1) через ссылку cnstr.__proto__ 

 (2) через ссылку cnstr.prototype 

 (3) ссылки cnstr недостаточно, нужно иметь ссылку на сам прототип 


Номер 3
Какие из приведенных ниже строчек кода, вызванных внутри функции-конструктора, позволят завести поле a в прототипе (в момент вызова конструктора)?

Ответ:

 (1) arguments.caller.a = 5; 

 (2) arguments.callee.a = 5; 

 (3) arguments.caller.prototype.a = 5; 

 (4) arguments.callee.prototype.a = 5; 

 (5) arguments.caller.__proto__.a = 5; 

 (6) arguments.callee.__proto__.a = 5; 

 (7) this.constructor.prototype.a = 5; 

 (8) this.constructor.__proto__.a = 5; 

 (9) this. prototype.a = 5; 

 (10) this.__proto__.a = 5; 


Упражнение 4:
Номер 1
Какова доступность в объекте поля, имеющегося в прототипе?

Ответ:

 (1) это поле недоступно в объекте 

 (2) это поле ведет себя как доступное только для чтения 

 (3) это поле доступно, но при попытке записи в объекте создается перекрывающее его поле 

 (4) это поле доступно абсолютно так же, как и поле, заведенное непосредственно в объекте 


Номер 2
Ссылка __constructor__ указывает на

Ответ:

 (1) конструктор класса 

 (2) объект-прототип класса 

 (3) конструктор прототипа 


Номер 3
Ссылка __proto__ указывает на

Ответ:

 (1) конструктор класса 

 (2) объект-прототип класса 

 (3) конструктор прототипа 


Упражнение 5:
Номер 1
Как из метода, вызванного для объекта класса, завести поле, к которому могут получить доступ все объекты класса (но при этом не лежащее в прототипе)?

Ответ:

 (1) этого сделать нельзя 

 (2) это можно сделать только для встроенных объектов, имеющих специальный метод 

 (3) это можно сделать через ссылку constructor 

 (4) это можно сделать через ссылку this 

 (5) это можно сделать, если не указывать явно объект, поле которого мы заводим 


Номер 2
Почему для полноценной эмуляции статических свойств необходима специальная функция?

Ответ:

 (1) потому что надо обеспечить место для хранения данных 

 (2) потому что надо обеспечить доступность статических свойств только из объектов данного класса 

 (3) потому что надо обеспечить доступ к свойству как через объект, так и через класс 


Номер 3
Какой механизм позволяет эмулировать приватные свойства?

Ответ:

 (1) использование принципа сохранения контекста вызова функции 

 (2) использование недокументированной функции ASSetPropFlags 

 (3) использование специальных возможностей функции setProperty 




Главная / Программирование / Flash MX для профессиональных программистов / Тест 6