C#重载和重写

C#重载和重写什么是重写(override)?“重写”是指“覆盖在某物之上”=“覆盖”。这是一个与继承密切相关的功能。重写应重新定义父类方法。当您要更改继承的类中父方法的处理时使用。publicclassSample{publicvirtualvoidTest(){//处理A}}classSample2:Sample{publicoverridevoidTest(){//处理B}}在上述情况下,由于Sample2类继

大家好,欢迎来到IT知识分享网。C#重载和重写"

什么是重写(override)?

“重写”是指“覆盖在某物之上”=“覆盖”。这是一个与继承密切相关的功能。

重写应重新定义父类方法。当您要更改继承的类中父方法的处理时使用。

public class Sample
{
  public virtual void Test()
  {
    // 处理A
  }
}

class Sample2 : Sample
{
  public override void  Test()
  {
    // 处理B
  }
}

在上述情况下,由于Sample2类继承了Sample类,因此您可以访问Sample类的Test方法。通过在具有这种关系的类中声明与覆盖相同类型和名称的功能,可以覆盖处理内容。当进程被覆盖时,在Sample2类中调用Test方法时,将执行处理B而不是处理A。
可以参考下面的实例:

public class Sample
{
    public virtual void Test()
    {
        Debug.Log ("111");
    }
}

public class Sample2 : Sample
{
    public override void Test()
    {
        base.Test();
        Debug.Log ("222");
    }
}

这时出力的结果为“222”而不是“111”。这样,重写可以重新定义您不想继承的方法或要在继承的类中更改的方法。重写的本意是“建立父子关系”。


什么是重载(Overload)?
重载意味着“超载”。此方法允许您使用相同的名称定义多个成员方法。与重写不同,其中同一事物(结构不同但名称相同的事物)存在于同一基础上。
重载是重载同名的方法和运算符。具有相同名称但参数输入模式多种的方法,

并且可以执行算术运算和使用“ +”进行字符连接。

class Sample
{
  void Test(int A)
  {
    // 处理A
  }

  void Test (string B)
  {
    // 处理B
  }
}

在上述情况下,同一类中有两个Test方法。通常,您不能使用相同的名称定义方法,但是如果类型和参数不同,则可以使用相同的名称声明方法。
在这种情况下,两个方法都存在并且可以被调用。(重载)


总结:
•重写= 重新定义
•重载 = 超载

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/11780.html

(0)
上一篇 2024-03-19 17:45
下一篇 2024-03-21 07:15

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信