在Flex中,所有的ActionScript类可以根据是否可视分为两类:可视化组件和不可视组件。可视化组件都从mx.core.UICmponent继承,用于完成与用户的交互;不可视组件主要用来完成一些与人机交互无关的工作,大多数与数据处理相关,比如数据校验、格式化、远程数据访问等。
如果不可视化组件实现mx.core.IMXMLObject接口,当用MXML标记定义这个类的对象时,MXML编译器能够使该对象初始化。IMXMLObject接口非常简单,只要求该接口的实现类实现一个initialized(document:Object, id:String):void方法。一旦不可视组件实现了这个接口,那么在编译时,MXML编译器在创建该不可视类实例的ActionScript语句之后添加了一条调用initialized方法的ActionScript语句,使得在运行时实现IMXMLObject接口的不可视对象在其代码中能够访问它当前所在的文档对象。