Показать сообщение отдельно
Старый 26.08.2007, 15:08
Kopilkus вне форума Посмотреть профиль Отправить личное сообщение для Kopilkus Найти все сообщения от Kopilkus
  № 1  
Ответить с цитированием
Kopilkus
 
Аватар для Kopilkus

Регистрация: 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()
	}
}
и кот:

Код:
var obj11 : Class1 = new Class1();
var obj12 : Class1 = new Class1();
var obj21 : Class2 = new Class2();
var obj22 : Class2 = new Class2();

trace (obj11.object == obj12.object); // true
trace (obj21.object == obj22.object); // false
вот почему так? получается что инициализация полей происходит не при создании объектов класса, а при инициализации самого класса. Это протеворечит ОО-принципам? или это просто извращенная реализации ООП в АС2?


Последний раз редактировалось Kopilkus; 26.08.2007 в 15:20.