欧美无砖专区一中文字_制服丝袜国产精品主_亚洲香蕉国产福利在线播放_日韩1区2区3区蜜桃在线观看

您當(dāng)前的位置 :三板富> 國(guó)際 > 正文
C#知識(shí)梳理——方法(2)虛方法、重寫(xiě)方法、抽象方法(and接口)、擴(kuò)展方法
2023-08-05 20:18:15 來(lái)源:?jiǎn)袅▎袅?/span> 編輯:news2020

虛方法(and重寫(xiě)方法):

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


【資料圖】

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

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

抽象方法:

用法:規(guī)范好讓子類(lèi)去實(shí)現(xiàn)。強(qiáng)制性一定要實(shí)現(xiàn)(因?yàn)橛袝r(shí)候?qū)懚嗔藭?huì)忘記寫(xiě)具體實(shí)現(xiàn))。

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

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

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

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

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

擴(kuò)展方法ExtendMethod:

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

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

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

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

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

標(biāo)簽:

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

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

最新熱點(diǎn)

精彩推送

 

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