ActionScript 3 使用关键字super和this说明和例子
1.this 表示这个方法调用当前对象的方法货对象的私有变量。
优点:当对象私有型方法中的参数(parameter)或局部变量(local parameter)和
对象私有属性重名,可以使用this区分对象私有型属性和局部变量
另外在flex中输入this,显示一些私有变量和函数
2.super是用于表示父类中能够 被访问的私有属性和方法。最大的作用是在方法覆盖中
,让当前对象类型的私有方法能够访问父类中的可被访问和被当前方法覆盖的方法。
总之可以访问父类的变量和函数,在覆盖方法里也能访问父类的变量和函数
举例子test目录下创建SimpleObject.as
package test
{
public class SimpleObject
{
public var a1:String = "SimpleObject.a1";
public var a2:int = 12;
public function testMethod1():String
{
return "SimpleObject.testMethod1()";
}
}
}
在创建MeanObject.as继承SimpleObject
package test
{
public class MeanObject extends SimpleObject
{
public var a3:String = "MeanObject.a1";
public var a4:int = 56;
public function testMethod2():String
{
var output:String;
output = "*** MeanObject.testMethod1()\n";
output += "*** " + this.a3 +"\n";//访问当前类的变量a3
output += "*** " + this.a4 +"\n";//访问当前类的变量a4
output += "*** " + super.testMethod1() + "\n";//访问父类的testMethod1
output += "*** " + super.a1 + "\n";//访问父类的变量a1
output += "*** " + super.a2 + "\n";//访问父类的变量a2
return output;
}
}
}
flex中调用的函数
viewSourceURL=""
horizontalAlign="center" verticalAlign="middle"
width="100%" height="100%"
>
import test.MeanObject;
private function showProperties():void
{
var obj1:MeanObject = new MeanObject();
panelPropertyArea.text = obj1.testMethod2();
}
]]>
paddingTop="5" paddingLeft="5" paddingRight="5" paddingBottom="5">
原创文章转载请注明出处:云飞扬IT的blog





