一、简介 overwrite覆写,用new实现。在子类中用 new 关键字修饰定义的与父类中同名的方法,也称为覆盖,覆盖不会改变父类方法的功能。 二、代码 namespace 重寫
overwrite覆写,用new实现。在子类中用 new 关键字修饰定义的与父类中同名的方法,也称为覆盖,覆盖不会改变父类方法的功能。
namespace 重寫
{
class Parent
{
public void F()
{
Console.WriteLine("Parent.F()");
}
//重写的属性必须是virtual、abstract或override
public virtual void G() //虚方法
{
Console.WriteLine("Parent.G()");
}
}
class ChildOne : Parent //子类一继承父类
{
new public void F() //覆写(overwrite)父类函数
{
Console.WriteLine("ChildOne.F()");
}
public override void G() //重写(override)父类虚函数,主要实现多态
{
Console.WriteLine("ChildOne.G()");
}
}
class ChildTwo : Parent //子类二继承父类
{
new public void F()
{
Console.WriteLine("ChildTwo.F()");
}
public override void G()
{
Console.WriteLine("ChildTwo.G()");
}
}
class Program
{
static void Main(string[] args)
{
Parent childOne = new ChildOne();
Parent childTwo = new ChildTwo();
//调用Parent.F()
childOne.F();
childTwo.F();
//实现多态
childOne.G();
childTwo.G();
}
}
}
重写子类的方法,但是不会覆盖父类的方法。
--结束END--
本文标题: C#关键字之覆写overwrite介绍
本文链接: https://lsjlt.com/news/146370.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0