国产宅男网站在线|亚洲A级性爱免费视频|亚洲中精品级在线|午夜福利AA毛

  • <dd id="gf5jf"><th id="gf5jf"></th></dd>

    <cite id="gf5jf"><label id="gf5jf"></label></cite>
  • <div id="gf5jf"><listing id="gf5jf"></listing></div>
    學(xué)習(xí)啦 > 知識(shí)大全 > 知識(shí)百科 > 公共基礎(chǔ)知識(shí) > .net重寫和重載的區(qū)別

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

    時(shí)間: 映芳735 分享

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

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

      重載

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

      重寫

      繼承時(shí)發(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 "我隱藏了基類";
    }
    }
    }

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

    530110