亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

c#中override重寫和new隱藏

2019-11-17 03:24:13
字體:
來源:轉載
供稿:網友

c#中override重寫和new隱藏

最近學習c#,昨晚看書看到多態。由于個人本身是從事java開發,于是拿來做對比便是自然的。

進入主題吧。

c#中,子類要重寫基類的方法,必須要基類聲明中帶有virtual關鍵字方法或者帶有abstract關鍵字的抽象方法,然后子類中重寫該方法時使用override關鍵字。

例如:

 class A    {        PRivate String name;        public String Name        {            get            {                return name;            }            set            {                name = value;            }        }        public A(String name)        {            this.name = name;        }        public virtual String Test()        {            return name;        }    }    class B : A    {        private int age;        public B(String name,int age)            : base(name)        {            this.age = age;        }        public override string Test()        {            return this.Name + ":" + age;        }    }

對于帶有關鍵字abstract的抽象方法,子類中必須要重寫,這與java中都是一樣的。但是在java中,子類重寫基類的普通方法,只需要與父類的方法聲明一致,就會重寫父類的方法。

重寫之后,在多態上的表現便會和大家期望的一致,調用子類重寫的方法,而不再是調用父類的方法了。

 static void Main()        {            A c1 = new A("Tom");            System.Console.WriteLine( c1.Test());            A c2 = new B("Jerry",20);            System.Console.WriteLine(c2.Test());         }

會發現后臺輸出的是

到這里,除了寫法上比java多了兩個關鍵字,其他都是一樣的,很好理解。但是在使用new隱藏父類方法的時候,就稍微有點暈了。

 class C : A    {        public String Code { set; get; }        public C(String name)            : base(name)        {            this.Code = "100001";        }        public new String Test()        {            return this.Name + ":" + this.Code;        }           }

如上,使用new關鍵字隱藏父類的Test方法,這里,隱藏父類方法,不像重寫那么嚴格,關鍵字可以與父類不同,甚至連返回類型也可以不同,但是方法名和參數必須一致。

運行代碼

 static void Main()        {            System.Console.WriteLine("這是main方法");            A c1 = new A("Tom");            System.Console.WriteLine( c1.Test());            B c2 = new B("Jerry",20);            System.Console.WriteLine(c2.Test());            C c3 = new C("Anlex");            System.Console.WriteLine(c3.Test());        }

會發現結果,與之前重寫父類方法得到的效果一致,于是不太明白new到底做了什么用。

但是細心的朋友們一定注意到了,這里給大家埋了一個坑,運行的代碼里,都是定義了自己的對象,運行自己的方法,結果自然會是如此了,根本就沒有體現出多態。

如果這里是定義父類的變量,去指向子類的實體的話。

static void Main()        {            System.Console.WriteLine("這是main方法");            A c1 = new A("Tom");            System.Console.WriteLine( c1.Test());            A c2 = new B("Jerry",20);            System.Console.WriteLine(c2.Test());            A c3 = new C("Anlex");            System.Console.WriteLine(c3.Test());            System.Console.ReadLine();                    }

結果便是:

這時,c2.Test()是調用了子類重寫的方法,而c3.Test()是調用了父類的方法,并不會調用類C里的Test()方法。

到這里,我想大家都理解隱藏的意思了吧。也明白書上一直強調的,要慎用new關鍵字隱藏父類方法了吧。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人在线观看视频网站| 亚洲精品乱码久久久久久按摩观| 国产69久久精品成人| 国产精品免费福利| 亚洲第一精品夜夜躁人人躁| 欧美裸体xxxx极品少妇软件| 97国产在线观看| 亚洲国产黄色片| 久久精品亚洲94久久精品| 国产日韩精品综合网站| 欧美电影在线观看高清| 中文字幕日韩精品在线| 亚洲国产精品久久久久久| 91在线播放国产| 伊人一区二区三区久久精品| 亚洲欧美中文另类| 久久精品国产亚洲精品| 国产精品久久二区| 最近2019中文字幕mv免费看| 韩国19禁主播vip福利视频| 2020欧美日韩在线视频| 国产日韩欧美综合| 中文字幕在线观看日韩| 91免费版网站入口| 国产性色av一区二区| 国产成人精品一区二区| 中文字幕精品一区久久久久| 97精品国产91久久久久久| 欧美一区二区三区艳史| 亚洲网站在线看| 国产999在线观看| 91在线高清免费观看| 亚洲国产成人精品久久久国产成人一区| 亚洲一区中文字幕在线观看| 亚洲第一免费播放区| 97超碰国产精品女人人人爽| 久久久久久久久久婷婷| 欧美成人午夜剧场免费观看| 69视频在线免费观看| 激情成人中文字幕| 91在线视频免费| 国产精品99久久久久久白浆小说| 欧美多人乱p欧美4p久久| 亚洲无亚洲人成网站77777| 国产精品永久免费观看| 日韩欧美精品中文字幕| 亚洲аv电影天堂网| 亚州精品天堂中文字幕| 欧美一区三区三区高中清蜜桃| 久久成人精品视频| 狠狠躁18三区二区一区| 色999日韩欧美国产| 国产精品久久婷婷六月丁香| 91在线观看免费观看| 欧美电影免费观看大全| 国产精品美女在线| 欧美成人性色生活仑片| 国产精品自拍小视频| 久久电影一区二区| 亚洲欧美日韩成人| 一区二区三区四区在线观看视频| 久久偷看各类女兵18女厕嘘嘘| 91伊人影院在线播放| 中文字幕亚洲无线码在线一区| 亚洲欧美国产日韩天堂区| 亚洲第五色综合网| 一区二区三区视频免费在线观看| 久久久人成影片一区二区三区| 亚洲欧美日韩视频一区| 久久国产精彩视频| 国产欧美最新羞羞视频在线观看| 欧美成人黄色小视频| 国产精品久久久久久久久男| 午夜精品久久久久久99热| 一本一本久久a久久精品综合小说| 性色av一区二区三区红粉影视| 久久99精品久久久久久噜噜| 国产视频久久久久久久| 亚洲精品小视频在线观看| 色狠狠av一区二区三区香蕉蜜桃| www.精品av.com| 狠狠色噜噜狠狠狠狠97| 深夜福利日韩在线看| 成人h视频在线观看播放| 成人免费黄色网| 91国产中文字幕| 国产精品免费在线免费| 久久久久久久久久久人体| 欧美一级片免费在线| 欧美视频中文在线看| 精品国产31久久久久久| 97人人模人人爽人人喊中文字| 日本精品久久久久影院| 亚洲欧洲中文天堂| 欧美日本黄视频| 欧美亚洲日本网站| 成人日韩在线电影| 国产日韩亚洲欧美| 亚洲人成电影在线观看天堂色| 国产精品日韩欧美大师| 亚洲国产日韩欧美在线动漫| 国产精品一区二区女厕厕| 在线观看国产欧美| 日本高清不卡的在线| 26uuu亚洲伊人春色| 亚洲综合成人婷婷小说| 国产精品女视频| 成人做爽爽免费视频| 欧美极品美女视频网站在线观看免费| 91精品综合久久久久久五月天| 亚洲视频在线免费看| 亚洲欧美在线看| 91免费高清视频| 欧美日本亚洲视频| 亚洲国模精品一区| 日韩小视频在线| 日韩在线观看成人| 欧美性猛交xxxx乱大交| 欧美激情免费在线| 欧美视频在线看| 欧美性69xxxx肥| 伊人成人开心激情综合网| 在线丨暗呦小u女国产精品| 成人妇女免费播放久久久| 日韩av免费看网站| 91精品在线观看视频| 欧美性视频在线| 国产精品极品尤物在线观看| 欧美另类老肥妇| 久久综合色88| 欧美日韩在线视频首页| 久久天天躁狠狠躁老女人| 97色在线视频观看| 国产www精品| 国产精品扒开腿做爽爽爽视频| 欧美壮男野外gaytube| 久久久久99精品久久久久| 欧美精品在线免费观看| 国产伦精品免费视频| 亚洲福利视频网站| 日本免费久久高清视频| 日韩人体视频一二区| 亚洲a区在线视频| 黑人巨大精品欧美一区免费视频| 国产精品视频网| 亚洲人成啪啪网站| 免费不卡欧美自拍视频| 日韩在线免费视频| 国产美女精品视频| 欧美日韩国产中文字幕| 国产精品专区第二| 亚洲免费福利视频| 精品视频久久久久久久| 亚洲视频综合网| 国产一区视频在线| 国产成人一区二区三区小说| 成人免费观看a| 欧美大片欧美激情性色a∨久久| 国产美女高潮久久白浆| 国产欧美精品日韩| 亚洲色图25p| 欧美老女人bb| 久久成人精品视频| 亚洲人成网站在线播|