Показать сообщение отдельно
Старый 29.06.2008, 19:48
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 11  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от riden Посмотреть сообщение
2 __etc

Код:
//конструктор класса
function Class1(a){
var pvar2:Number;//приватное свойство
this.a = a;//паблик свойство по значению
//приватный метод
function pMet(){
return Math.random()*a;
}
//паблик метод
function pmet1(){
return "Вот так я работаю "+pMet();
}

this.met1=pmet1;//паблик метод, свойство по значению
}

////////////////////////////////////////
var obj = new Class1(2);
trace(obj.met1()); //Вот так я работаю 0.312059603631496
То, что вы написали — использование локальной функции, это вовсе не метод. Поставьте трейc this внутри вашего метода и посмотрите, что он вам вернет.

Код:
//конструктор класса
function Class1(a){
var pvar2:Number;//приватное свойство
this.a = a;//паблик свойство по значению
//приватный метод
function pMet(){
	trace('я есть приватный метод класса '+this); // я есть приватный метод класса undefined
return Math.random()*a;
}
//паблик метод
function pmet1(){
return "Вот так я работаю "+pMet();
}

this.met1=pmet1;//паблик метод, свойство по значению
}

////////////////////////////////////////
var obj = new Class1(2);
trace(obj.met1()); //Вот так я работаю 0.312059603631496