C#重载和重写

一、重载

重载就是在同一个类中,方法名相同,参数列表不同,返回类型可以不相同。参数列表不同包括:参数的个数不同,参数类型不同等。

以下就是返回类型可以不相同,但是他们的参数列表必须不同

        public void Method2(int i,string j)
        {

        }
        public string Method2()
        {
            return null;
        }    

      public string Method2(int i)
      {
        return null;
      }

 

二、重写

重写就是子类重写父类的方法,在调用的时候,子类的方法会覆盖父类的方法,也就是会调用子类的方法。在父类中的方法必须有修饰符virtual或是abstract,而在子类的方法中必须指明override。

 

在重写中,子类继承父类,不同的实例化方式会调用不同的方法。

class Child:Parent
{
        public override void ParentMethod()
        {            
            Console.WriteLine("this is child");
        }
}
class Parent
{
     public virtual void ParentMethod()
      {
            Console.WriteLine("this is parent");
       }        
}

parent a=new Child();

a.ParentMethod();

这里调用的是Child类中的方法。

 

posted @ 2021-09-19 17:27  HelloWorld庄先生  阅读(605)  评论(0编辑  收藏  举报