久久国产毛片-免费毛片网-日韩伦理一区-狠狠操超碰-国产高清av喷水白丝护士-日本熟女毛茸茸-免费亚洲一区-手机精品视频-欧美性受xxx黑人xyx性爽-国产精品日日夜夜-在线视频亚洲欧美-99久久婷婷国产综精品喷水-欧美日韩在线免费观看视频-免费黄色福利视频-偷偷操不一样的久久-日本久久网-av午夜在线

您當(dāng)前的位置 :三板富> 國際 > 正文
C#知識梳理——方法(2)虛方法、重寫方法、抽象方法(and接口)、擴(kuò)展方法
2023-08-05 20:18:15 來源:嗶哩嗶哩 編輯:news2020

虛方法(and重寫方法):

作用:因?yàn)樵诜椒ㄕ{(diào)用的時(shí)候會有對于這個(gè)方法的用法有需求,但是方法的條件不符合應(yīng)用的需求。所以需要重寫。也就是說多用于重寫父類方法。換言之,就是子類和父類的具體實(shí)現(xiàn)方法不同的時(shí)候,需要進(jìn)行對虛方法的重寫。(允許子類或者派生類,進(jìn)行重新,實(shí)現(xiàn)不一樣的功能)


【資料圖】

特點(diǎn):1、關(guān)鍵詞:virtual 2、子類和父類的返回值和參數(shù)也是一樣的3、好維護(hù)(原生代碼不需要進(jìn)行更改)

關(guān)鍵點(diǎn):重寫與重載的不同是,重載重點(diǎn)在參數(shù)類型、個(gè)數(shù)、順序不同的情況下,引用同一種方法來做不同的事情,本質(zhì)上重載是同一個(gè)方法,只不過入口不同。而重寫實(shí)就是不同的方法,但是入口的樣子一樣。 與后邊的抽象方法、接口的對應(yīng)的形象的解釋。現(xiàn)在有一戶人家已經(jīng)有一個(gè)房子了,發(fā)現(xiàn)不夠用,于是他們又建造了另一個(gè)相同外觀的房子,以作他用,但是還是同樣一戶人家來用。

抽象方法:

用法:規(guī)范好讓子類去實(shí)現(xiàn)。強(qiáng)制性一定要實(shí)現(xiàn)(因?yàn)橛袝r(shí)候?qū)懚嗔藭泴懢唧w實(shí)現(xiàn))。

特點(diǎn):1、抽象方法一定要寫在抽象類里 2、不能實(shí)例化 3、不帶方法體

關(guān)鍵點(diǎn):1、抽象方法,像是一種“規(guī)范”,用形象的話來說的話,就是給你一入口,規(guī)定一定要有一個(gè)門,門打開后,屋子內(nèi)部是什么樣的,屋子是怎么建的,都是由你(子類)來決定的,不過這個(gè)房子只有一個(gè)房間。重寫的過程就是建這個(gè)房子的過程。

與接口的區(qū)別和使用:區(qū)別:1、抽象類——單繼承(只能繼承一個(gè)父類) 接口——可以多繼承 所以,接口就像是他給了你一個(gè)房間號,你可以通過多個(gè)房間號進(jìn)入到不同的房間里,但是進(jìn)入房子的門還是那一個(gè)門。 重寫的過程就是就是建立這個(gè)房子中不同房間的過程。2、抽象類里可以寫其他方法,而接口里只能寫規(guī)范。也就是說,抽象類是就是一個(gè)有煙證的超市,里可以賣煙(抽象方法),也可賣冰棍,賣生活用品(其他方法);而接口就是醫(yī)院,里邊的規(guī)范是病人,病人可以是大老板,也可是掃大街的(規(guī)范可以不同),但是病人就只是病人,現(xiàn)在有個(gè)食客(虛方法)想去醫(yī)院里吃火鍋

(具體實(shí)現(xiàn)),那這是不被允許的。

使用場合:抽象類一般用于常用不會經(jīng)常改動、抽象范圍大一點(diǎn)的事件。

擴(kuò)展方法ExtendMethod:

定義:在不修改原生代碼的情況下進(jìn)行擴(kuò)展(重要)

用法:在非泛型靜態(tài)類中->定義靜態(tài)方法->拓展方法

使用場合:1、調(diào)用密封類中的對象,屬性或者方法進(jìn)行拓展 2、擴(kuò)展接口 3、再Linq鏈?zhǔn)骄幊?等等

關(guān)鍵:抽象方法和接口我都給出了形象的解釋,以便于理解。那么擴(kuò)展方法也需要來講一講。它們應(yīng)當(dāng)是不同角度的問題。抽象方法在抽象類里給出一個(gè)規(guī)范,便于子類進(jìn)行對某一個(gè)類的繼承后的重寫;接口給出規(guī)范,便于子類對某一個(gè)或者多個(gè)接口中規(guī)范的在此子類中的創(chuàng)建。而擴(kuò)展方法則不然,它在于對原生父類的擴(kuò)展,取的是參數(shù)。前兩者,一個(gè)是取入口門,一個(gè)是取房間門牌,門規(guī)定了誰可以進(jìn),進(jìn)多少人,房間門牌規(guī)定了誰可以進(jìn)哪個(gè)房間。但是它們的最終指向都只有一個(gè)地方,某個(gè)屋子或者某個(gè)房間。而擴(kuò)展則不同,它是取來這樣的信息:有多少人,這些人是誰,他們能做什么,而并不關(guān)心去這些人要去哪個(gè)房間。于是乎,擴(kuò)展就可以決定這些人的動作,可以指定某些人去作某些動作(取參數(shù),規(guī)定全新的方法的實(shí)現(xiàn)),可以指定某些人去做他們會的動作來達(dá)成一定的目的(取參數(shù)和方法,來獲得新的方法的實(shí)現(xiàn))。規(guī)定好以后,房子還是那所房子,但是我們已經(jīng)可以按照這個(gè)房子的樣子來建一所房子(實(shí)例化,其實(shí)更準(zhǔn)確的描述,就是不管是抽象、接口都是用來確定圖紙的,實(shí)例化后才是真正的把房子建造出來),或者說,按照圖紙建造出這個(gè)房子,然后通過對這個(gè)房子的一些按鈕進(jìn)行操作(調(diào)用擴(kuò)展的方法、屬性等),來讓某些人進(jìn)某個(gè)房間或者去某個(gè)地方做某些事(輸入?yún)?shù),進(jìn)行操作),而這些事情也許是房子最初設(shè)計(jì)中不存在的事情,就好比本身醫(yī)院就是一個(gè)億元,讓病人看病的地方,現(xiàn)在我們可以規(guī)定某些病人可以在醫(yī)院里蹦迪,因?yàn)槲覀冊卺t(yī)院里制造了閃亮的燈球,而我們也允許病人在燈球下蹦迪。

方法梳理小結(jié):上述方法的總結(jié)都是很簡單的一些梳理 但是很有用 不過寫的算是筆記,很簡單 主要還是為了我自己今后可以看懂 也許這C#一系列真的做下去的話,可以錄制教程發(fā)出來,一方面做個(gè)記錄 再一方面后邊再次進(jìn)行復(fù)習(xí)

標(biāo)簽:

相關(guān)閱讀
版權(quán)和免責(zé)申明

凡注有"三板富 | 專注于新三板的第一垂直服務(wù)平臺"或電頭為"三板富 | 專注于新三板的第一垂直服務(wù)平臺"的稿件,均為三板富 | 專注于新三板的第一垂直服務(wù)平臺獨(dú)家版權(quán)所有,未經(jīng)許可不得轉(zhuǎn)載或鏡像;授權(quán)轉(zhuǎn)載必須注明來源為"三板富 | 專注于新三板的第一垂直服務(wù)平臺",并保留"三板富 | 專注于新三板的第一垂直服務(wù)平臺"的電頭。

最新熱點(diǎn)

精彩推送

 

Copyright © 1999-2020 m.0356279.cn All Rights Reserved 關(guān)于我們
三板富投資網(wǎng)  版權(quán)所有 滬ICP備2020036824號-16聯(lián)系郵箱:562 66 29@qq.com

青浦区| 田林县| 荥经县| 普兰店市| 安宁市| 沈丘县| 汝阳县| 开远市| 当雄县| 沈丘县| 贡山| 龙门县| 广饶县| 桃源县| 永康市| 济阳县| 防城港市| 禹州市| 定兴县| 龙口市| 深水埗区| 嘉义县| 成武县| 鹿泉市| 高青县| 郸城县| 应用必备| 陈巴尔虎旗| 松阳县| 孟州市| 万年县| 涞源县| 诏安县| 鹤峰县| 嵩明县| 靖远县| 陆河县| 惠来县| 宁远县| 泸定县| 巧家县|