這篇文章主要講解了“C#中隱藏、重寫、重載的區(qū)別是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C#中隱藏、重寫、重載的區(qū)別是什么”吧!
成都創(chuàng)新互聯公司專注為客戶提供全方位的互聯網綜合服務,包含不限于成都做網站、網站制作、蘭山網絡推廣、重慶小程序開發(fā)、蘭山網絡營銷、蘭山企業(yè)策劃、蘭山品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯公司為所有大學生創(chuàng)業(yè)者提供蘭山建站搭建服務,24小時服務熱線:18982081108,官方網址:jinyejixie.com
C#重載、C#重寫和C#隱藏的定義
C#重載:同一個作用域內發(fā)生(比如一個類里面),定義一系列同名方法,但是方法的參數列表不同。這樣才能通過傳遞不同的參數來決定到底調用哪一個。而返回值類型不同是不能構成重載的。
C#重寫:繼承時發(fā)生,在子類中重新定義父類中的方法,子類中的方法和父類的方法是一樣的
例如:基類方法聲明為virtual(虛方法),派生類中使用override申明此方法的重寫.
C#隱藏:基類方法不做申明(默認為非虛方法),在派生類中使用new聲明此方法的隱藏。
C#重載時,根據參數選擇調用的方法;
C#重寫時,訪問父類子類皆調用子類的重寫方法;
C#隱藏時,訪問父類則調用父類的方法,子類子類的方法。
C#隱藏(new)示例:
using System; class A { public void F() { Console.WriteLine("A.F"); } } class B: A { new public void F() { Console.WriteLine("B.F"); } } class Test { static void Main(string[] args) { B b = new B(); b.F(); A a = b; a.F(); } }
輸出為
B.F
A.F
C#重寫virtual(虛方法)示例
using System; class A { public virtual void F() { Console.WriteLine("A.F"); } } class B: A { public override void F() { Console.WriteLine("B.F"); } } class Test { static void Main() { B b = new B(); b.F(); A a = b; a.F(); } }
輸出為
B.F
B.F
補充:重寫override一般用于接口實現和繼承類的方法改寫,要注意
1、覆蓋的方法的標志必須要和被覆蓋的方法的標志完全匹配,才能達到覆蓋的效果;
2、覆蓋的方法的返回值必須和被覆蓋的方法的返回一致;
3、覆蓋的方法所拋出的異常必須和被覆蓋方法的所拋出的異常一致,或者是其子類;
4、被覆蓋的方法不能為private,否則在其子類中只是新定義了一個方法,并沒有對其進行覆蓋。
感謝各位的閱讀,以上就是“C#中隱藏、重寫、重載的區(qū)別是什么”的內容了,經過本文的學習后,相信大家對C#中隱藏、重寫、重載的區(qū)別是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯,小編將為大家推送更多相關知識點的文章,歡迎關注!
本文題目:C#中隱藏、重寫、重載的區(qū)別是什么
網站鏈接:http://jinyejixie.com/article28/jjegjp.html
成都網站建設公司_創(chuàng)新互聯,為您提供云服務器、做網站、關鍵詞優(yōu)化、電子商務、微信小程序、動態(tài)網站
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯