这里要说一下,重写是继承时发生,在子类中重新定义父类中的方法。例如:基类方法声明为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#高级进阶--重写函数

 

相关文章:

  • 2022-01-14
  • 2022-12-23
  • 2022-12-23
  • 2021-06-29
  • 2022-01-03
  • 2022-02-12
  • 2021-06-07
  • 2022-02-24
猜你喜欢
  • 2021-06-14
  • 2021-09-25
  • 2022-12-23
  • 2022-12-23
  • 2022-02-05
  • 2021-11-05
  • 2021-12-29
相关资源
相似解决方案