this在两个类之间的用法

this指针:

如果A,B是两个不同的类,有如下用法:

(以下是Flex中的函数声明用法)

class A

{

private function UseClassB()

{

var b:B = new B();

b. UseB();

.........

b.a = this;           //把当前类A 的信息内容赋值到B 中的一个变量,这样,B中就可以使用A中的public Function

}

 

public function UseA()

{

..................

}

}

 

class B

{

private var a:A;         //在这里要声明a为B的一个变量

 

public  function UseB()

{

...............

a.UseA();         //使用A中public的UseA方法。

}

}

 

 像上面那样,把当前函数的this指针赋给另一个具有使用此类(A)的类,在当前类中声明一个新的类B,然后把当前A的值赋予,B中声明的一个A的变量,此时在B中调用A的公共方法即可,注意:这里在B中使用A类时要先用到A中创建的那个方法,即前面的UseClassB(),这样才能使A不为空。

 

这个A可以定义的任何地方,全局也可以。只要在使用之前先赋值。

 

注意:

this是当前程序运行的对象或类,如果这个程序模块(B)被多个线程使用,则新申请的这个B是使用的当前的this(即A),但此时若A中有使用B的方法,则这个方法中不能包含this,而应该直接用,即上面的b.a = new A(),不是this,如果是this,则多个B中使用A就会冲突的使用当前的A

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值