user578737
user578737

Reputation: 133

Flex 4 two classes in one file

Can I put two or more actionscript classes in one .as file like this:

//A.as
package classes {

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

It doesn't work in Flash Builder:

A file found in a source-path can not have more than one externally visible definition. classes:A; classes:B

If it possible, I'm going to ask next question.
Can I place two or more packages with multiple classes in one .as file?

Upvotes: 12

Views: 6392

Answers (1)

Tomasz Stanczak
Tomasz Stanczak

Reputation: 13164

No and no. The following works:

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

The class B is only visible to the class A - you cannot have more than one visible class in one file (exactly what the error message states). And you cannot have more than one package in a file.

Upvotes: 26

Related Questions