当一个类的方法被标识为virtual,则表示该方法为虚方法,虚方法可以后代所重写(后代包括子类、以及子类的子类)
sealed关键字可以有两种用途:
1、可以修饰在带有override的方法上,用来阻止其子类进一步重写该方法。
2、可以修饰到类上,用来阻止类被继承
class Test11_0
{
public virtual string Fun()
{
return "这是类Test11_0";
}
}
class Test11_1 : Test11_0
{
public override string Fun()
{
return "这是类Test11_1";
}
}
class Test11_2 : Test11_1
{
public override string Fun()
{
return "这是类Test11_2";
}
}
class Test11_3 : Test11_2
{
public override string Fun()
{
return "这是类Test11_3";
}
}
class Test12_0
{
public virtual string Fun()
{
return "这是类Test12_0";
}
}
class Test12_1:Test12_0
{
public sealed override string Fun()
{
return "这是类Test12_1";
}
}
class Test12_2 : Test12_1
{
//这个类就不能再重写fun方法了
}
sealed class Test13//该类不能被继承
{
}