(C#)重载和重写的区别

重载方法

    是指在类中有两个或两个以上的同名方法,但各个方法中的参数类型、参数个数或顺序不同。

class Program
{
  public int Addition(int x)
   { return x+x;}
  public int Addition(int x,int y)
   { return x + y;}
  public int Addition(float x,float y)
   { return x + y; }
  public int Addition(int x,float y)
   { return x + y; }
  public int Addition(float y,int x)
   { return x + y; }
}

为什么要引入重载方法?
 重载(overload)是指定义多个名称相同的方法,通过定义不同的输入参数或者返回值类型来区分这些方法。

public void myTest(int x,int y){}
public void myTest(double x,ref int y){}
public void myTest(int x,int y,string a){}
总结重载的特征:
1、方法名必须相同。
2、参数列表必须不相同,与参数列表的顺序无关。
3、返回值类型可以不同



重写方法
    如果一个实例方法的声明中含有override 修饰符,则称之为重写方法。重写方法 用相同的签名覆盖所继承的虚方法或抽象方法。
【示范代码:先定义一个抽象基类,并在其中定义一个抽象方法和一个虚方法】
public abstract class BaseClass        //定义一个抽象基类
{
   public abstract void ShowInfo();  //声明抽象方法
   public virtal void OutInfo()      //定义虚方法
   {
       Console.WriteLine("这是基类的虚方法!");
    }
}



public class SonClass:BaseClass     //实现抽象基类BaseClass
{
  public override void ShowInfo()   //重写基类的抽象方法
   {
     Console.WriteLine("重写基类的抽象方法");
   }  
  public override void OutInfo()    //重写基类的虚方法
   {
     Console.WriteLine("重写基类的虚方法");
   }  
}




转载于:https://my.oschina.net/Akizi/blog/198490

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值