ActionScript - ComboBox Является ли SelectableList?
Я не понимаю документацию Adobe для класса SelectableList:
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 иногда выражает себя в документации: сбивает с толку.
Чтобы выразить это простыми терминами ООП, это разница между расширением класса ("is a") и использованием композиции ("has a"):
List, TileList, DataGrid является списком выбора (потому что каждый из них расширяет список выбора)
ComboBox имеет список выбора (поскольку он имеет компонент списка, доступ к которому осуществляется через свойство раскрывающегося списка (который является списком выбора)).
Надеюсь, это проясняет.