【发布时间】:2018-02-16 07:50:51
【问题描述】:
将子类作为参数传递给另一个函数是否是一种好习惯,因为我希望对子类的属性进行修改。
具体来说,我希望将类设置为
alpha = 0.5;
我通常会将子类设为主类的私有属性并以这种方式访问它。但是,我想知道这是更好还是更差的方法?
像这样:
var d:DElem = new DElem(text);
addChild(d);
d.addEventListener(MouseEvent.CLICK, Proxy.add(this, click, d));
private function click(event:MouseEvent, elem:DElem):void {
Animate.fadeOutIn(elem);
}
【问题讨论】:
-
您能否在您的问题中添加一个超级简单的示例,其中将包含您想要使用的类结构
-
我添加了一个例子。
-
在您的示例中,您实际上并不需要将
elem传递给函数。您可以从event.currentTarget或event.target获得它 -
看adobe提供的例子:Capturing mouse input
-
为了澄清您的术语,您传递的是类的实例,而不是类或子类。当您使用
new关键字时,您正在创建一个类的实例(在这种情况下,是DElem的一个实例)。DElem是Sprite的子类(以及Object的所有其他类),这意味着该类继承了Sprite类的所有属性和方法。
标签: oop actionscript-3 actionscript