一个类继承的问题。。。。。。。。。。。。。。。。。。。。。。。。。。

cn0cn 2006-04-22 09:01:30
namespace Hello.a
{

public class A
{
protected int a;
}
}

namespace Hello.a
{

public class B : A
{
private A m_a;
m_a. //这里不显示A类里的a呢?
}
}
...全文
114 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cn0cn 2006-04-22
  • 打赏
  • 举报
回复
现在还有一个问题


namespace Hello.a
{

public class A
{
protected int a;
a = 1 ;


public int ShowA
{
get{return a;}
set{a = value;}
}


}


}

namespace Hello.a
{

public class B : A
{
private A m_a;

public void How()
{
base.a //这里应该这么引用才有提示啊
// m_a. 这样是不会有提示的,这样就相当于是外部访问了
}
}
}




namespace Go
{

public class C
{
B m_b = new B.How()
m_b.a //为什么是空的?
}
}
star0796 2006-04-22
  • 打赏
  • 举报
回复
namespace Hello.a
{

public class A
{
protected int a;
}
}

namespace Hello.a
{

public class B : A
{
private A m_a;

public void How()
{
base.a //这里应该这么引用才有提示啊
// m_a. 这样是不会有提示的,这样就相当于是外部访问了
}
}
}

cn0cn 2006-04-22
  • 打赏
  • 举报
回复
真的太感谢了!明白了!谢谢。。。:)
wokexi 2006-04-22
  • 打赏
  • 举报
回复
protected 呀,
直接用this试试,不要实例化父类。
Knight94 2006-04-22
  • 打赏
  • 举报
回复
如果在基类中没public class B : A
{
private A m_a;

public void How()
{
base.a//Access "a" member using base-object
this.a//Access "a" member using "this" point, by the way, there is no same member in sub-class
// you can't access "a" member using A object
}
}有重复定义,也可以用this来访问,即
Knight94 2006-04-22
  • 打赏
  • 举报
回复
那当然了,protected成员只能在继承中,通过基类来访问,而不能通过对象来访问,即
public class B : A
{
private A m_a;

public void How()
{
base.a//Access "a" member using base-object
// you can't access "a" member using A object
}
}
anthit 2006-04-22
  • 打赏
  • 举报
回复
你要问的是什么?
cn0cn 2006-04-22
  • 打赏
  • 举报
回复
补充一下:



namespace Hello.a
{

public class A
{
protected int a;
}
}

namespace Hello.a
{

public class B : A
{
private A m_a;

public void How()
{
m_a. //这里不显示A类里的a呢?
}
}
}

110,570

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧