Московский физико-технический институт
Опубликован: 23.12.2005 | Доступ: свободный | Студентов: 2869 / 253 | Оценка: 4.61 / 4.44 | Длительность: 27:18:00
ISBN: 978-5-9556-0051-2
Лекция 6:

Классы

Вездесущий this

Фактически, наиболее важные вещи для создания собственных классов мы уже узнали. Теперь самое время еще раз упомянуть об основном источнике ошибок при работе с классами во Флэш-программе. Программист, пишущий на С++ или Java, привык, что внутри метода класса поля этого класса доступны просто по имени. Во Флэше это не так, перед именем поля нужно обязательно ставить this! Иначе Флэш решит, что вы обращаетесь к переменной того объекта, внутри которого написан код определения рассматриваемого метода (в простейшем случае этот объект - _root ). Поэтому, если вы написали очевидный код и он не работает, проверьте, чтобы все слова this были на месте. Обычно при такой проверке обнаруживается, что вы забыли поставить вовсе не один, а штук пять this 'ов.

Что делает оператор new - попытка эмуляции

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