parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Вызов конструктора портит поля ранее созданных экземпляров

Дима 17.12.2005 15:28

Я в ООП человек темный, но меня мучает вопрос: почему конструктор изменяет поля в контексте всего класса? Это так надо?

Сделал я класс:
@CLASS
MYCLASS


@auto[]
	$x[]	
#/auto

@Create[param]
	$x[$param]
#/Create


@PrintX[]
	$x
#/PrintX
Делаю экземпляры
@USE
/test/myclass.p

@main[][_instance1;_instance2]
	$_instance1[^MYCLASS::Create[a]]
	$_instance2[^MYCLASS::Create[b]]
	
	^_instance1.PrintX[]
	^_instance2.PrintX[]
#/main
В результате получаю b b

Может я не там храню в классе $x ?

Ведь не происходит же такого, когда я создаю экземпляры класса date, например, с разными параметрами в конструкторе.