小编van*_*nRF的帖子

从子对象引用回父对象

我的问题是关于访问子对象父级的最佳实践.因此,假设一个类实例化另一个类,该类实例现在用一个对象引用.从那个子对象,引用回父对象的最佳方法是什么?目前我知道我经常使用的几种方式,但我不确定A)是否有更好的方法来做到这一点或B)哪一种是更好的做法

第一种方法是使用getDefinitionByName,它不会实例化该类,但允许访问其中公开声明的任何内容.

_class:Class = getDefinitionByName("com.site.Class") as Class;
Run Code Online (Sandbox Code Playgroud)

然后根据其父到子层次结构引用该变量.
例如,如果孩子试图引用一个比自身高两级的类:

_class(parent.parent).function();
Run Code Online (Sandbox Code Playgroud)

这似乎工作正常,但您需要知道孩子所处的级别与您尝试访问的父级别的级别.

我还可以使用以下语句将[object ClassName]追踪到Flash的输出中.

trace(Class);
Run Code Online (Sandbox Code Playgroud)

我不是100%执行该行,我没有把它作为一种方法来引用我当前对象之外的对象.

我看到的另一种方法是简单地将对此的引用传递给您正在创建的类对象,并使用构造函数参数捕获它

var class:Class = new Class(this);  
Run Code Online (Sandbox Code Playgroud)

然后在类文件中

public function Class(objectRef:Object) {
    _parentRef = objectRef;
} 
Run Code Online (Sandbox Code Playgroud)

该引用还要求您使用子级到父级层次结构进行备份.

我也可以导入该类,然后使用直接文件路径引用该类内部的方法,无论它是否为父类.

import com.site.Class;
com.site.Class.method();
Run Code Online (Sandbox Code Playgroud)

当然,父子关系是无关紧要的,因为我直接通过导入的类访问方法或属性.

我觉得我错过了一些非常明显的东西.我基本上是在寻找确认,如果这些是引用父母的正确方法,如果是这样,哪个是最理想的,还是我过分看待别的东西?

flash actionscript-3

2
推荐指数
1
解决办法
9647
查看次数

标签 统计

actionscript-3 ×1

flash ×1