Мне надо копию создать, чтобы её модифицировать независимо.
Добавлено через 3 часа 3 минуты
В общем поскольку описанное повсюду копирование не работает в данной ситуации, а ничего получше мне не подсказали, плюс вдобавок нельзя перегрузить конструктор, а я бы просто сделал копирующий конструктор, то сделал так:
Код AS3:
public function MemberType(initLength:int, clonedObject:MemberType = null)
{
if (clonedObject == null)
{
maxLength = initLength;
solutionType = new Vector.<int>(maxLength, true);
var i:int;
for (i = 0; i < maxLength; i++)
{
solutionType[i] = i;
}
for (i = 0; i < maxLength; i++)
{
tweakSolution();
}
}
else
{
this.maxLength = clonedObject.getMaxLength();
this.solutionType = clonedObject.getSolutionType();
}
}
Это хотя бы позволяет в обычной ситуации, работать как и было задумано, а в случае копирования, указать например var mt2:MemberType = new MemberType(0, mt); Первый параметр значения не имеет в данном случае. Туповато, но чтож сделать, ограничения языка.