2011-05-04 2 views
11

Puis-je mettre deux ou plusieurs classes actionscript dans un fichier .as comme ceci:Flex 4 deux classes dans un fichier

 
//A.as 
package classes { 

    public class A { 
     public function A() { 
      var b:B = new B(); 
     } 
    } 
    internal class B { 
     public function B() { 
      trace("Hello"); 
     } 
    } 
} 

Il ne fonctionne pas dans Flash Builder:

Un fichier trouvé dans un chemin d'accès source ne peut pas avoir plus d'un définition visible. classes: A; classes: B

Si c'est possible, je vais poser la prochaine question.
Puis-je placer deux ou plusieurs packages avec plusieurs classes dans un fichier .as?

Répondre

25

Non et non. Les travaux suivants:

//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"); 
    } 
} 

La classe B est visible à la classe A - vous ne pouvez pas avoir plus d'une classe visible dans un seul fichier (exactement ce que les états de message d'erreur). Et vous ne pouvez pas avoir plus d'un paquet dans un fichier.