亚洲精品黄,亚洲欧美日韩精品久久久,一本一本久久a久久精品综合,国产欧美在线观看一区二区,亚洲欧洲国产精品久久,久久综合狠狠色综合伊人,亚洲成熟

學習啦 > 知識大全 > 知識百科 > 公共基礎知識 > .net重寫和重載的區(qū)別

.net重寫和重載的區(qū)別

時間: 映芳735 分享

.net重寫和重載的區(qū)別

  接觸過編程代碼的人都知道重載和重寫,一些編程高手能很清楚它們之間的區(qū)別,但是對于一些剛接觸代碼的新手來說,總是不能很好的區(qū)別它們,下面小編帶你了解一下。

  重載

  同一個作用域內發(fā)生(比如一個類里面),定義一系列同名方法,但是方法的參數列表不同。這樣才能通過傳遞不同的參數來決定到底調用哪一個。而返回值類型不同是不能構成重載的。

  重寫

  繼承時發(fā)生,在子類中重新定義父類中的方法,子類中的方法和父類的方法是一樣的。

  小編給你舉一下代碼例子,可以通過代碼了解一下

  OverrideNew.cs
namespace NET.MST.Third.OverrideNew
{
public class OverrideNew
{
static void Main(string[] args)
{
//測試重寫和隱藏的功能
OverrideBase b = new OverrideBase();
NewBase nb = new NewBase();
Console.WriteLine(ob.ToString() + ":" + ob.GetString());
Console.WriteLine(nb.ToString() + ":" + nb.GetString());
Console.WriteLine("\r\n");
//重寫和隱藏的區(qū)別
Base bb = ob as Base;
Base nbb = nb as Base;
Console.WriteLine(obb.ToString() + ":" + obb.GetString());
Console.WriteLine(nbb.ToString() + ":" + nbb.GetString());
Console.Read();
}
}
//基類
class Base
{
public virtual string GetString()
{
return "我是基類";
}
}
//重寫
class OverrideBase : Base
{
public override string GetString()
{
return "我重寫了基類";
}
}
//隱藏
class NewBase : Base
{
public new virtual string GetString()
{
return "我隱藏了基類";
}
}
}
}
//重寫
class OverrideBase : Base
{
public override string GetString()
{
return "我重寫了基類";
}
}
//隱藏
class NewBase : Base
{
public new virtual string GetString()
{
return "我隱藏了基類";
}
}
}

  看完了上面的代碼,你現在能很好的區(qū)別重載與重寫嗎?希望這段代碼對你有所幫助。

530110