![]() |
|
||||||||||
|
|||||
|
Регистрация: Sep 2005
Сообщений: 11
|
вот такая вот вещь. есть два класаа
class Class1
{
public var object : Object = new Object();
public function Class1()
{
}
}
class Class2
{
public var object : Object ;
public function Class2()
{
this.object = new Object()
}
}
вот почему так? получается что инициализация полей происходит не при создании объектов класса, а при инициализации самого класса. Это протеворечит ОО-принципам? или это просто извращенная реализации ООП в АС2? Последний раз редактировалось Kopilkus; 26.08.2007 в 15:20. |
|
|||||
|
Banned
[+1 08.05.08]
[+4 14.04.08] [+1.3 02.05.08] Регистрация: Oct 2006
Адрес: кагбэ Киеф!!1
Сообщений: 1,473
|
почему так записали:
Цитата:
разве правильно вызван класс? |
|
|||||
|
Регистрация: Sep 2005
Сообщений: 11
|
сори, очепяточка. поправил
|
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
В твоем примере ничего не противоречит. Выдержка из хэлпа на эту тему: "When you initialize properties inline, the expression on the right side of an assignment must be a compile-time constant. That is, the expression cannot refer to anything that is set or defined at runtime. Compile-time constants include string literals, numbers, Boolean values, null, and undefined, as well as constructor functions for the following top-level classes: Array, Boolean, Number, Object, and String."
" == equality operator -- Variables representing objects, arrays, and functions are compared by reference. Two such variables are equal if they refer to the same object, array, or function." Почему такой результат, я хз. Последний раз редактировалось udaaff; 26.08.2007 в 22:11. |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Это баг в AS2. Запись
делает object статичным свойством, а не свойством экземпляра. Из-за этого в получаем true. Поэтому надо все значение присваивать в конструкторе. Последний раз редактировалось iNils; 26.08.2007 в 22:37. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Цитата:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 02:26. |
|
|
« Предыдущая тема | Следующая тема » |
|
|