public class ParentClass //public seale class ParentClass 使用seale修饰符实现密封类,不能被继承
{
public ParentClass()
{
Console.WriteLine("父类构造函数");
}
public virtual void SayHello() //使用virtual修饰符实现虚拟方法,派生类可以重写该方法
{
Console.WriteLine("我是父类");
}
}
public class ChildClass : ParentClass
{
public ChildClass()
{
Console.WriteLine("子类构造函数");
}
public void Say()
{
//访问基类成员
base.SayHello(); //通过base.<方法名>()的方式调用基类的方法
}
public sealed override void SayHello() //当实例方法声明包含 sealed 修饰符时,称该方法为密封方法。如果实例方法声明包含 sealed 修饰符,则它必须也包含 override 修饰符。使用 sealed 修饰符可以防止派生类进一步重写该方法。
{
Console.WriteLine("我是子类");
}
static void Main(string[] args)
{
ChildClass child = new ChildClass();
child.Say();
child.SayHello();
//访问基类成员
((ParentClass)child).SayHello(); //显式类型转换
Console.ReadKey();
}
}