首页 / 知识
关于Flash:从子对象返回父对象
2023-04-15 04:33:00

Referencing back to the parent from a child object我的问题与访问子对象的父对象的最佳实践有关。假设一个类实例化了另一个类,该类实例现在被一个对象引用。从该子对象中,引用回父对象的最佳方法是什么?目前,我知道我经常使用的几种方法,但是我不确定A)有更好的方法还是B)哪种方法更好? 第一种方法是使用getDefinitionByName,它不会实例化该类,但允许访问其内部公开声明的任何内容。
然后基于其父级到子级层次结构引用该变量。
这似乎很好,但是您需要知道孩子的水平与您尝试访问的父母的水平相比。 我还可以获得以下语句,以将[object ClassName]跟踪到Flash的输出中。
我不是100%的执行该行,我没有说服它作为引用当前所在对象之外的对象的一种方法。 我见过的另一种方法是将对此的引用简单地传递到您正在创建的类对象中,并使用构造函数自变量进行捕获
,然后在Class文件中,
该参考文献还要求您逐步使用子级到父级的备份。 我也可以导入该类,然后使用直接文件路径引用该类内部的方法,而不管其父级与否。
当然,父子关系是无关紧要的,因为我直接通过导入的类访问方法或属性。 我只是觉得我在这里确实缺少一些明显的东西。我基本上是在寻求确认,如果这些是引用父级的正确方法,如果是,那是最理想的,还是我在忽略其他东西? 通常,如果您需要一个孩子与父母沟通,您应该通过广播事件来看看是否这样做。这样可以使子代与父代分离,并使其他类与该子代一起工作成为可能。 我不建议将对父类的引用传递给子类。 这是一个简单的例子(我已经测试/编译过这个,所以可能会有一些错别字)。
在大多数情况下,您将调度自定义事件并与它们一起传递数据。 基本: 父母引用了Child并通过方法调用进行通信。 希望有帮助... 麦克·钱伯斯 mesh@adobe.com 最好将类作为自己的实例,并减少与其他对象的紧密耦合(在这种情况下,它是父级)。如果您执行类似parent.doSomething()之类的操作,则无法在没有doSometing()方法的容器中使用该类。我认为最好传入任何类可能需要的内容,然后再在该类内部不再执行任何parent.parent等。 有了这个,如果您将来想更改结构,只需传递一个新的引用就很容易了;子类的实现根本不需要更改。 这里的第三种选择也非常不同,它访问一个类级别的静态方法(访问该方法时不必键入整个类路径),而不是实例方法。前两个。 我喜欢设置一个全局类来处理对需要由任何其他类(不一定是子类)访问的类的引用。 全局类仅由静态getter和setter组成,如下所示:
这样做的好处是您不必导入要从全局类返回的类,只需导入全局类本身。 需要引用的类将自身添加到全局列表中。 大多数时候,如果一个类需要由子类或任何其他类引用,我会通过一个接口来实现。 我喜欢将父级作为接口传递(因此该类可以包含在实现该接口的任何父级中)或将引用实现为父级可以挂接到的事件/函数指针/委托。 我一直使用第二种方法,将指向父对象的指针传递给子对象,并将该指针存储在子类的成员变量中。对我来说,这似乎是孩子与父母沟通的最简单方法。 如果这些对象在DisplayList中,那么您还有更多选择。如果我在子类中具有ParentClass和ChildClass,则在将请求强制转换为ParentClass时,您似乎可以访问父类。例如
我肯定知道ParentClass是Document Class是否可以工作。由于文档类始终是显示列表中的第一项,因此可以:
就我而言,他们都是同一个程序包的成员,所以我什至不需要导入任何东西。我尚未在所有情况下都进行过测试,但是在需要时它可以工作。 当然,\\'parent \\'和\\'getChild ... \\'仅在这些对象位于DisplayList中时才起作用,但这对我来说已经足够了。 |
最新内容
相关内容
linux使用命令的方法?
linux使用命令的方法?,系统,信息,工具,标准,数据,命令,左下角,目录,文件夹,图标,linux的cd命令的使用方法1、cd ~:回到用户家目录。注:这得看你linux无效对象的命令?
linux无效对象的命令?,软件,系统,单位,网络,管理,术语,检测,电脑,环境,风险,linux疑问:普通用户的ifconfig命令无法执行,如何解决?建议这个操linux命令输入方法?
linux命令输入方法?,系统,电脑,密码,管理,地址,命令,网站,工具,首开,位置,linux终端输入~怎么弄中间在电脑上打开需要的Word文件进入。进入到文Python中什么是反射?使用方法有哪
Python中什么是反射?使用方法有哪些?,信息,培训,状态,术语,检测,反射,属性,对象,字符串,方法,反射这个术语在很多语言中都存在,并且存在大量的Python中有哪些方法可以解压文件?
Python中有哪些方法可以解压文件?,工具,系统,工作,培训,文件,文件夹,方法,窗体,不同于,以下内容,在Python学习和日常使用中,很容易造成文件过大Python列表类型list合并有哪些方法
Python列表类型list合并有哪些方法?,培训,方法,列表,可能会,数组,切片,下文,字符串,数据类型,请看,在Python编程语言中,有各种数据类型,比如字符零基础学习Python的四种方法
零基础学习Python的四种方法,基础,代码,基础知识,培训,发展,时间,知识,书籍,初学者,练习,近年来,随着移动互联网的发展,对Python人才的需求越来pythonPandas Series对象有哪些属
pythonPandas Series对象有哪些属性?,工具,数据,数字,分析,培训,属性,数据类型,数组,对象,索引,想必大家都知道pandas,它是基于Numpy的一种工具python是面向对象还是面向过程的
python是面向对象还是面向过程的,数据,代码,基础,形态,培训,术语,设计,对象,过程,语言,Python虽然是解释型语言,但从设计之初就已经是一门面向如何在Python中定义类方法和修改类
如何在Python中定义类方法和修改类属性?,代码,方法,培训,对象,实例,定义,结果,示例,赋值,属性,Python中的类还可定义使用@classmethod修饰的类提高Python 效率的 5 种高级方法
提高Python 效率的 5 种高级方法,代码,数字,函数,有限,设备,项目,工具,培训,列表,内存,任何编程语言的高级特征通常都是通过大量的使用经验才关于Python的高效学习方法
关于Python的高效学习方法,基础,培训,资料,质量,技术,系统,情况,学习方法,高效,初学者,今天给大家分享一下Python高效的学习方法,尽管每个人的