3个回答
展开全部
父类必须有公共的虚方法,即使用了关键字virtual加以修饰,且访问修饰符不能是私有的,必须是public或protected的。所以满足重写的条件总结如下:
1、父类必须有公共(public)或受保护(protected)的虚方法(virtual);
2、在派生类里使用override关键字来重写父类的虚方法。
// 示例如下:
public class Person {
public virtual void SayHello() {
Console.WriteLine("你好.");
}
protected virtual void SayHello2(){
Console.WriteLine("你好.");
}
}
public class AOBAMA:Person
{
override public void SayHello()
{
Console.WriteLine("Hello.");
}
override protected void SayHello2()
{
base.SayHello2(); // 调用父类的虚方法
Console.WriteLine("Hello,重写后的方法.");
}
}
class Program:AOBAMA
{
static void Main(string[] args)
{
AOBAMA aobama = new AOBAMA();
aobama.SayHello();
Program p = new Program();
p.SayHello2(); // 调用父类受保护的方法
Console.ReadKey(true);
}
}
展开全部
1:抽象类中的抽象方法,继承类必须重写方法;
2:基类中的虚方法,继承类可以重写,可以不重写;
3:基类中普通方法,继承类使用new关键字重写;
2:基类中的虚方法,继承类可以重写,可以不重写;
3:基类中普通方法,继承类使用new关键字重写;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你百度搜索【c#重写】,看博客园那两个就懂了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询