using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace sealed关键字
{
class Program
{
static void Main(string[] args)
{
TestClass1 tc1 = new TestClass1();
tc1.method01();
TestClass3 tc3 = new TestClass3();
tc3.MM();
tc3.KK();
Console.ReadKey();
}
}
sealed class TestClass1 //sealed修饰类时,表示这是封闭类,不能作为其他类的基类
{
int level = 9;
public void method01()
{
Console.WriteLine("我是封闭类中的正经方法");
}
// public abstract void method02();//报错。封闭类中不能有抽象方法
// public virtual void method03() { } //报错。封闭类中不能有虚方法
// sealed void method04();//报错。sealed应用于方法或属性时,必须始终与override结合使用,只能在重写其基类方法时使用
}
class TestClass2
{
public virtual void MM()
{
Console.WriteLine("mm");
}
public virtual void KK()
{
Console.WriteLine("kk");
}
}
class TestClass3 : TestClass2
{
public sealed override void MM() //用sealed修饰方法,防止其被重写
{
base.MM();
Console.WriteLine("我是用sealed修饰的重写方法");
}
public override void KK()
{
base.KK();
Console.WriteLine("我是正经的重写方法");
}
}
class TestClass4 : TestClass3
{
public override void KK()
{
base.KK();
Console.WriteLine("我是孙辈的方法");
}
}
}
c#之sealed关键字
最新推荐文章于 2025-04-06 16:46:36 发布