2010-11-18 2 views
0

я не понимаю, в документации компании Adobe для класса SelectableList:ActionScript - ComboBox доступен для выбора?

SelectableList является базовым классом для всех компонентов на основе списков - для например, List, TileList, DataGrid, и ComboBox компонентов.

SelectableList не является базовым классом для ComboBox:

SelectableList> BaseScrollPane> UIComponent> Sprite> DisplayObjectContainer> InteractiveObject> DisplayObject> EventDispatcher> Объект

ComboBox> UIComponent> Sprite> DisplayObjectContainer> InteractiveObject> DisplayObject> EventDispatcher> Объект

import fl.controls.*; 

var l:List = new List(); 
trace(l is SeletableList); //true 

var tl:TileList = new TileList(); 
trace(tl is SelectableList); //true 

var dg:DataGrid = new DataGrid(); 
trace(dg is SelectableList); //true 

var cb:ComboBox = new ComboBox(); 
trace(cb is SelectableList); //false 

это ошибка? или я что-то пропустил?

ответ

1

Это как раз то, как Adobe иногда выражает себя в документации: смутно.

Выражаясь простым языком объектно-ориентированного программирования, это разница между расширения класса («это») и с использованием композиции («есть»):

Список, TileList DataGrid является Выбор списка (потому что каждый из них проходит по выбору список)

ComboBox имеет Список Выбираемого (потому что имеет компонент в список, экспонирует через это dropdown свойства (, который является Выбирается списком)).

Надеюсь, это прояснит ситуацию.