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

结果如下图:

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM