从Actionscript核心显示类图上可以看出,TextField比Sprite更接近根部,两者属于不同级别。
因此UI组件的两个源头也有了理论基础。
源头分类:容器型(Sprite),文本型(TextField)
所有UI组件将分别从这两个源头衍生。这意味着UI组件有两个不同的基类,不同类型的UI组件分别继承自不同的基类。
容器型(Sprite),文本型(TextField)基类将拥有相同的渲染机制,这意味着代码上会有重复。
文本型不能独立构建UI组件,而是作为某个UI组件的局部存在。
以Button和TextInput为例说明结构上的关系:
最外层: Sprite类型的容器
内层 : TextField类型的文本组件