c#基础之重载重写

(1)重载指的是同一个类中有两个或多个名字相同但是参数不同的方法,(注:返回值不能区别函数是否重载),重载没有关键字。

         重载是指指子类对父类中虚函数或抽象函数的“覆盖”重载,必然发生在一个类中,函数名相同,参数类型或者顺序不同构成重载,与返回类型无关。
         重写,必然发生在基类和派生类中,其类函数用virtual修饰,派生类用override修饰。

重写属性声明必须指定与继承属性完全相同的访问修饰符、类型和名称,并且被重写的属性必须是virtual、abstract 或 override 的。

class A
    {
        public virtual void Fun()
        {
            Console.WriteLine("I am F");
        }
    }
    class Program:A
    {
        public override void Fun()
        {
            int i = 1;
            Console.WriteLine("I am F,i={0}", i);
        }
        static void Main(string[] args)
        {
            A p = new Program();
            p.Fun();
            Console.Read();
        }
    }

 

 

感谢https://www.cnblogs.com/sunqiang/p/4369413.html

 

posted @ 2019-05-19 19:37  安静点--  阅读(234)  评论(0编辑  收藏  举报