I've been reading a bit about classes and namespaces from adobe's live docs AS3 manual
ActionScript Code:
http://livedocs.adobe.com/flash/9.0/main/flash_as3_programming.pdf
I've noticed that classes & packages themselves are very much similar to a main function in c/c++ where class is the main function and just after the define/declare of package is the import directive of other predefined / user defined class's is similar to the include directive for both c & c++.where header files contain additional information pertaining to xyz information.
Ofcourse import is used when references userdefined class's within Flash/Flex IDE itself.
Then there is the access controllers which in the predefined / user defined class. If the members of that class are not defined explicitly as public, private, protected or internal, then by default they are considered internal which is very much similar to what they call block scope in c/c++ and many other languages.
Where internal is the local scope or variable scope to the code block.
Public would be considered Global scope.
Namesspaces seem to be used as Macro's or Constants even Enum's or Typedef's.
This seems like a very very flexible language to work with, and not that difficult to learn.
I hope I'm on the right track.