为什么以及何时覆盖 public 函数集数据

why and when override public function set data

我在 Internet 上做了一些关于 itemRender 的研究,我刚刚找到一些描述 itemRender 的文章,比如 Adobe Item Render , The Best Practice with item render in flex development 所有这些文章都解释了 ItemRender 的工作原理?但是他们没有具体说明为什么我们要覆盖设置数据方法?为什么我们调用 super.data = value?希望你能帮助我。

 <s:itemRenderer>
 <fx:Component>                 
 <s:ItemRenderer autoDrawBackground="false" width="100%" height="100%" >                        
 <fx:Script>                     
    override public function set data(value:Object):void
    {
        super.data = value; }

                        ]]>

               </fx:Script>                     
            </s:ItemRenderer>
        </fx:Component>
    </s:itemRenderer>                    

请注意,并非总是需要重写设置数据方法。您可以使用绑定语法并依赖默认的 ItemRenderer 的设置数据功能,例如

<s:Label text="{data.labelText}" />

话虽这么说,覆盖设置数据允许您在显示新元素时触发更复杂的行为。一个可能的用途是滚动列表,其中每个条目在第一次出现时会发光大约半秒钟。

在覆盖函数中调用 super.data = value; 只是调用默认行为,在这种情况下设置 ItemRenderer's 基础 data 属性 在覆盖中执行此操作是标准做法除非你积极地试图避免做 parent class 所做的事情。