最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

C#之接口介紹

2020-11-25 15:52 作者:白白_可樂(lè)  | 我要投稿

什么是接口呢?

在生活中大家其實(shí)接觸過(guò)不少接口的例子,比如手機(jī)充電器有micro USB,Type-C,lighting等,電源線有兩頭,三頭,使用正確的插頭就能夠插到對(duì)應(yīng)的接口中,但是如果不匹配,就不能契合.

此處引用微軟C#文檔對(duì)于接口的定義:

微軟文檔對(duì)于接口的定義

https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/interface

所謂接口,就是需要實(shí)現(xiàn)類(lèi)必須實(shí)現(xiàn)指定的方法和屬性.

說(shuō)回代碼中,我舉一個(gè)例子,假設(shè)我們有一家飯店,我們要招聘能做菜的廚師,可能有的小伙伴會(huì)這么寫(xiě)代碼:

飯店招聘廚師

很好,那么讓我們用代碼模擬開(kāi)店,會(huì)發(fā)生什么呢?

工具人一號(hào)應(yīng)聘

先使用創(chuàng)造者之力實(shí)例化一個(gè)工具人,然后招聘他,完美,沒(méi)有報(bào)錯(cuò).

但是這個(gè)廚師除了頂著一個(gè)廚師的頭銜之外,什么能力都沒(méi)有,是個(gè)無(wú)能力者,那么,讓我們賦予他一項(xiàng)能力吧:

工具人一號(hào)做菜

很好,這下我們?cè)谡衅傅臅r(shí)候就能檢查應(yīng)聘人員的廚藝了.本期專(zhuān)欄到此結(jié)束


我們的飯店成功開(kāi)張了,過(guò)了段時(shí)間,我們需要招聘新的廚師,但是來(lái)的卻和之前的廚師不一樣,怎么回事呢?這個(gè)時(shí)候,我們就需要完善一下世界觀(重構(gòu)代碼):


工具人二號(hào)應(yīng)聘

不好,程序報(bào)錯(cuò)了,工具人二號(hào)沒(méi)有通過(guò)招聘,這時(shí)候他十分不滿:你是不是看不起我?我也會(huì)做菜,為什么不要我,就因?yàn)槲沂枪ぞ呷藛?/span>?

我們來(lái)檢查一下這段,雖然江湖菜廚師也會(huì)做菜,但是因?yàn)槲覀冊(cè)趯?xiě)招聘函數(shù)的時(shí)候,對(duì)參數(shù)固定為了廚師類(lèi),所以當(dāng)我們傳入一個(gè)江湖菜廚師類(lèi)型的時(shí)候,程序就會(huì)報(bào)錯(cuò)了,這種時(shí)候,我們可以像下面這樣優(yōu)化代碼:

初次使用接口

將接口引入我們的代碼之后,將函數(shù)的傳入?yún)?shù)改為接口類(lèi)型,這樣一來(lái),實(shí)現(xiàn)了做菜接口的廚師類(lèi)和江湖菜廚師都可以成功通過(guò)招聘的.

有一天我們的飯店來(lái)了幾個(gè)神秘人,說(shuō)他們也要來(lái)應(yīng)聘,但是恰好我們的招聘官拉肚子來(lái)不了,不能直接判斷應(yīng)聘者的能力,這個(gè)時(shí)候我們就只好重新再寫(xiě)一個(gè)函數(shù)來(lái)檢測(cè)他們的實(shí)力了,世界觀再度擴(kuò)展(代碼重構(gòu))

世界觀擴(kuò)展

如上圖所示,我們可以通過(guò) is 關(guān)鍵字來(lái)判斷變量是否屬于指定類(lèi)型,用在接口上的話,就是判斷該變量是否屬于實(shí)現(xiàn)了對(duì)應(yīng)接口的類(lèi).

我們還可以用 as 關(guān)鍵字來(lái)實(shí)現(xiàn)類(lèi)型轉(zhuǎn)換,如果不能成功轉(zhuǎn)換,會(huì)返回 null

使用as進(jìn)行類(lèi)型轉(zhuǎn)換

不過(guò)好像混進(jìn)了一些奇怪的家伙.

就先到這里吧.

C#之接口介紹的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
尚志市| 玉田县| 香港| 平潭县| 昌乐县| 饶河县| 宝山区| 府谷县| 铁力市| 清流县| 和静县| 伊吾县| 唐河县| 哈尔滨市| 汉中市| 蛟河市| 宝鸡市| 张家口市| 高密市| 旬邑县| 肥东县| 两当县| 富宁县| 萝北县| 张家界市| 闽侯县| 乌鲁木齐市| 金阳县| 太湖县| 永安市| 嘉定区| 历史| 吉木萨尔县| 明水县| 景洪市| 洛扎县| 曲阳县| 鄢陵县| 交城县| 镇安县| 紫金县|