Flex 4 два класса в одном файле

#actionscript-3 #oop #class #flex4 #packages

#actionscript-3 #ооп #класс #flex4 #пакет

Вопрос:

Могу ли я поместить два или более классов actionscript в один файл .as следующим образом:

//A.as 
классы пакета {

 открытый класс A {
 общедоступная функция A() { 
 переменная b:B = new B();
 }
 } 
 внутренний класс B {
 общедоступная функция B() {
 трассировка ("Привет");
 }
 }
}

Это не работает во Flash Builder:

Файл, найденный в исходном пути, не может иметь более одного видимого извне определения. классы: A; classes:B

Если это возможно, я собираюсь задать следующий вопрос.
Могу ли я поместить два или более пакетов с несколькими классами в один файл .as?

Ответ №1:

Нет и нет. Работает следующее:

 //A.as

package classes {

    public class A {
        public function A() {
            var b:B = new B();
        }
    }

}
class B { // <--- Note the class is outside of the package definition.
    public function B() {
        trace("Hello");
    }
}
  

Класс B виден только классу A — у вас не может быть более одного видимого класса в одном файле (именно так указано в сообщении об ошибке). И у вас не может быть более одного пакета в файле.