public class A
{
public void Run()
{
Console.WriteLine("父");
}
}
public class B:A
{
public void Run()
{
Console.WriteLine("子");
}
}
class Program
{
static void Main(string[] args)
{
A a = new B();
a.Run();
}
}为什么打印出的是"父"不是"子",能详细说明下吗?谢谢
{
public void Run()
{
Console.WriteLine("父");
}
}
public class B:A
{
public void Run()
{
Console.WriteLine("子");
}
}
class Program
{
static void Main(string[] args)
{
A a = new B();
a.Run();
}
}为什么打印出的是"父"不是"子",能详细说明下吗?谢谢
解决方案 »
- 如何单击某个按钮,然后某个单选框被选中,同时执行了它的单击事件?
- DES加密解密的问题
- 基于socket编写的发信组件怎么不能使用?服务器已经打开socket
- 查看.NET Framework的类库的相关代码?
- 请大家帮大忙:小弟想通过C#连接ACCESS数据库,数据库的数据是两组图片,一组大图片,另一组是大图片的局部,分别显示在
- 如何利用winform实现拾色的功能?
- 窗体传值问题!
- 高分请教一个问题,在线等,解决问题立即结帖了,真急... ...
- 生成一定制控件时,如何使它的属性在其它用户设计时是用组合框显示选择,而非输入
- C#添加halcon控件后提示无法在 DLL“halcon”中找到名为“HLIIsUTF8Encoding”的入口点。
- 高手什么时候出现?HttpWebRequest怎么处理当中的[]符号?
- Process打开的文件怎么获取,使用它的菜单栏?50分送上,谢谢~
{
public virtual void Run()
{
Console.WriteLine("父");
}
}
public class B:A
{
public override void Run()
{
Console.WriteLine("子");
}
}
class Program
{
static void Main(string[] args)
{
A a = new B();
a.Run();
}
}
这样就能达到你要的效果了。
多看看面向对象的书吧
这里你理解了没,?先看new 的是什么,
你这里new B()说明对象就A+B的内容。A a=new B();看前面的是A a;
说明访问权限是A类的,所以a.run()是A类的方法,如果你想访问子类的也可以。用“多态”吧。就是 override