2015-01-16 2 views
1

Я пытаюсь установить значение для двух переменных в моем классе. Но вспышка выбрасывает меня исключение - 'Access of undefined property myFirstText' и 'Access of undefined property mySecondText'. Где моя ошибка STUPID?ActionScript 3 | [Ошибка 1120] Доступ к неопределенному свойству

Мой класс:

package eu.gabrielatanasov.myclasses { 

    public class myClass { 

     private var myFirstText: String; 
     private var mySecondText: String; 

     public function myClass() { 
      trace('Class loaded!'); 
     } 

     public static function getMyText($myFirstText: String, $mySecondText: String): void { 
      myFirstText = $myFirstText; 
      mySecondText = $mySecondText; 
     } 

     private static function justTrace(): void { 
      trace('My first text: ' + myFirstText + '\n' + 'My second text: ' + mySecondText); 
     } 

    } 

} 

ответ

1

Ваши переменные экземпляра не может быть установлен из (статический) функции класса. Вот почему вы получаете ошибку.

Если вы хотите установить переменные со статической функцией, эти переменные также должны быть статическими. Помните, что статические функции не имеют доступа к «этому» внутри функции, и вы устанавливаете:

this.myFirstText = $myFirstText; //this: because they are instance variables; there is no this in a static function, error 
+0

Как вы называете «конструктор функций»? Вы можете сделать две вещи: 1. вы фактически создаете экземпляры своего класса, а myFirstText и mySecondText должны быть разными для каждого экземпляра (скажем, как «возраст» каждого экземпляра человека). В этом случае просто удалите 'static' из объявлений funcion. 2. они должны быть статическими переменными (разделяемыми между всеми экземплярами/если есть некоторые /), а затем объявлять переменные как частные статические. Редактировать: pls не удаляют комментарии – Fygo

Смежные вопросы