首页 新闻 会员 周边

类B的实例b是类A的成员,那么在类B中如何引用类A的成员?

0
悬赏园豆:20 [已关闭问题]
<P>类B的实例b是类A的成员,那么在类B中如何引用类A的成员N? <BR><BR>class A <BR>{ <BR>&nbsp; B b=new B(); <BR>&nbsp; int N; <BR>} <BR><BR>class B <BR>{ <BR>&nbsp; …… //如何编写代码来引用类A的成员N? <BR>}</P> <P>因为无法在类B内创建类A的实例a,所以无法通过a.N来引用类A的成员N。</P> <P>那有什么办法吗?</P>
设计无量的主页 设计无量 | 初学一级 | 园豆:80
提问于:2008-06-05 22:39
< >
分享
其他回答(4)
0
按你上面所说的. 是可以在类B中创建A的实例a.如果你要访问类A中的N请将N的访问类型设置为public 它默认是private类型的,所以不可以访问,在B中要访问a.N请在一个方法体,或者是属性中访问.不能在类的成员中访问, 希望能理解我所说的意思.
侯垒 | 园豆:3435 (老鸟四级) | 2008-06-06 08:28
0
楼上正解。
致博腾远 | 园豆:1389 (小虾三级) | 2008-06-06 08:39
0
请看以下代码: [code] public class A { B _b; public A(){ _b = new B(this); } } public class B { private A _a; public B(A a){ this._a = a; } public void Method1(){ //这里就可以用_a引用A中的共有属性了 } } [/code]
玉开 | 园豆:8822 (大侠五级) | 2008-06-06 09:01
0
回调技术 A将自己的句柄、指针传给B。一般使用这种,也就是楼上说的。 代理技术 A将自己注册在第三者C上,B通过访问C获得A。MFC的界面框架就是这样的。
逍遥子 | 园豆:205 (菜鸟二级) | 2008-06-09 17:14
0
实现方式很多。。主要的就是借助第三方或者在B建立方法,A发送消息给B获取A的N值,或者将类A自己直接当作参数传给B初始化,方法N多 就室不知道你的这个题目有没有什么限制了
VFong | 园豆:210 (菜鸟二级) | 2008-06-09 18:38
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册