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

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();
        }
    }

结果如下图:

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_40128550/article/details/88798513