new、virtual、override、abstract 等-重载

  • new、virtual、override、abstract 等-重载
  • new、virtual、override、abstract 等-隐藏
  • new、virtual、override、abstract 等-覆盖(改写、重写)
  • new、virtual、override、abstract 等-抽象
  • new、virtual、override、abstract 等-隐藏与覆盖实际操作

重载无关键字。

重载位于一个类同,方法名称相同,方法的参数要么类型不同,要么个数不同,或者类型个数均不同。

一个重载类:

public class BaseClass
{
    public void Do()
    {
        HttpContext.Current.Response.Write("基类方法");
    }
    public void Do(string str)
    {
        HttpContext.Current.Response.Write(str);
    }
    public int Do(int id)
    {
        HttpContext.Current.Response.Write(id.ToString());
        return id;
    }
}

调用时根据实参类型和个数,自动选择匹配的方法:

BaseClass bc = new BaseClass();
bc.Do();
bc.Do("--");
bc.Do(1);

重载特点:

  • 必须位于同一个类中;
  • 方法名称必须相同;
  • 方法的参数要么类型不同,要么个数不同,要么类型个数均不同;
  • 返回值类型可以不同;
  • new、virtual、override、abstract 等-重载
  • new、virtual、override、abstract 等-隐藏
  • new、virtual、override、abstract 等-覆盖(改写、重写)
  • new、virtual、override、abstract 等-抽象
  • new、virtual、override、abstract 等-隐藏与覆盖实际操作

你可能感兴趣的