C# 继承问题

mrsupersky 2012-03-20 12:03:15
类A.cs
public class A
{
protected virtual Msg()
{

}
}

public class B:A
{
protected override Msg()
{
base.Msg();
}
}


public class C:B
{
protected [这里应该用什么关键字] Msg()
{
base.Msg();
}
}


public class D
{
public Method1()
{
C c=new C();
c.Msg();
}

}

最好不要让编译器产生警告


想要达到的效果是,在类D的Method1方法中实例化 C类的一个对象“c”,调用“c”对象的Msg();方法时
其所有基类和本身的Msg方法全部被调用。



...全文
105 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
bdmh 2012-03-20
  • 打赏
  • 举报
回复

public class A
{
public virtual void Msg()
{
Console.WriteLine("A");
}
}

public class B : A
{
public override void Msg()
{
base.Msg();
Console.WriteLine("B");
}
}


public class C : B
{
public override void Msg()
{
base.Msg();
Console.WriteLine("C");
}
}


public class D
{
public void Method1()
{
C c = new C();
c.Msg();
}

}
devmiao 2012-03-20
  • 打赏
  • 举报
回复
override 就可以了。
mrsupersky 2012-03-20
  • 打赏
  • 举报
回复
ok,这速度,good,thanks.

111,126

社区成员

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

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

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