C#高级进阶--重写函数

时间:2023-03-09 00:28:37
C#高级进阶--重写函数

这里要说一下,重写是继承时发生,在子类中重新定义父类中的方法。例如:基类方法声明为virtual方法,派生类中使用override声明此方法的重写。

基类中的访问修饰符在子类中是不能被修改的。比如说基类中的访问修饰符为protected,那么子类中的访问修饰符也必须是这个。而且不能是private的。而如果是protected类型的那就意味着此方法不能被第三个类调用。

比如说这里有一个基类Base.cs

class Base
{
public Base()
{ } public virtual void AAA()
{
Console.WriteLine("This is AAA");
}
}

还有一个子类Inheritance.cs

class Inheritance:Base
{
public override void AAA()
{
base.AAA();
Console.WriteLine("This is BBB");
}
}

base.AAA();的意思是继承父类Base.cs中AAA函数的所有内容。
在Program.cs中调用Inheritance.cs中的AAA。

class Program
{
static void Main(string[] args)
{
Inheritance inin = new Inheritance();
inin.AAA();
Console.ReadKey();
}
}

结果如下图:
C#高级进阶--重写函数