PDA

Просмотр полной версии : ошибка:Конструктор не может возвращать значения?


bjd
11.10.2007, 23:48
Как сделать так, что-бы при создании экземплята класса Х , ему присваивалось некоторое значение заданное в конструкторе?
class X {
private var num1:Number;
public function X(num2:Number) {
num1 = num2;
return num1
}
}
var n = new X(1);
trace(n)
//Как написать класс так, что-бы trace(n) отображал 1 ?

Mnilionic
11.10.2007, 23:57
присваивается экземпляр класса. Если Вам нужно значение делайте обычную функцию.

screamge
12.10.2007, 00:02
А никак, n всегда будет экземпляром класса, для того что вы пытаетесь сделать есть геттеры и сеттеры.

miramax
12.10.2007, 00:05
В AS3 конструктор всегда возвращает только новую инстанцию одноимённого класса.

bjd
12.10.2007, 00:10
А никак, n всегда будет экземпляром класса, для того что вы пытаетесь сделать есть геттеры и сеттеры.

а как же ?

var n = new Array("1");
trace(n)
//отображает 1

etc
12.10.2007, 00:12
А что он должен вывести?
var n = new Array(1,2,3);
trace(n); // 1,2,3
Собственно, строковым представлением массива является строковое представление всех его элементов, разделенные запятыми.

lowka
12.10.2007, 00:27
Как написать класс так, что-бы trace(n) отображал 1 ?
добавьте вашему классу метод toString() :

public function toString():String
{
return this.num1;
}

bjd
12.10.2007, 00:40
lowka, thanks!!!

etc
12.10.2007, 01:53
Что-то мне подсказывает, что на этом вопросы не закончатся.