第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

關(guān)于C# 的問(wèn)題

關(guān)于C# 的問(wèn)題

C#
慕UI0956640 2017-08-29 19:34:40
最近在自學(xué)c#,被里面的一些定義搞得暈頭轉(zhuǎn)向的,感覺(jué)好多都可以省略,干嘛搞得那么復(fù)雜。1.既然實(shí)例化都是我用屬性,那我可以不使用字段嗎2.接口和類又什么區(qū)別3什么時(shí)候用靜態(tài)方法,什么時(shí)候用實(shí)例方法。
查看完整描述

1 回答

已采納
?
a_flying_fish

TA貢獻(xiàn)9條經(jīng)驗(yàn) 獲得超4個(gè)贊

第一個(gè)問(wèn)題:屬性是對(duì)字段的封裝,說(shuō)白了,類中實(shí)際能夠存儲(chǔ)數(shù)據(jù)的還是字段,沒(méi)有字段,屬性不就沒(méi)用了嗎。不考慮安全性的情況下,屬性倒是顯得多余。實(shí)際上,屬性很有必要,通過(guò)對(duì)字段的封裝,實(shí)現(xiàn)對(duì)字段的安全訪問(wèn)

第二個(gè)問(wèn)題:接口是特殊的類,是一種抽想到極致的類。有的時(shí)候,我們希望寫一個(gè)函數(shù),傳入不同類型的類參數(shù),但是他們都具備同一種方法(多態(tài)),這種情況下普通的繼承也是可以的,但是最原始的基類中需要定義這個(gè)方法,但是函數(shù)體顯得沒(méi)有意義,接口中提供的這種不需要定義函數(shù)體,只需要聲明函數(shù)原型,使得代碼更簡(jiǎn)潔。
?????? 這個(gè)時(shí)候你可能會(huì)問(wèn),為什么一定要?jiǎng)?chuàng)造一個(gè)新的關(guān)鍵字interfance,理由很簡(jiǎn)單,C++中就是沒(méi)有這個(gè)關(guān)鍵字的,也沒(méi)有abstract這些復(fù)雜的關(guān)鍵字,為什么呢,因?yàn)镃++這種語(yǔ)言支持多繼承,即一個(gè)子類,同時(shí)繼承多個(gè)父類。因此任何類,不論是接口類還是抽象類還是普通類,一律都能直接繼承多個(gè)。但是C#不行啊,規(guī)定只能有一個(gè)基類,要繼承多個(gè),除非其余的都是接口類。這個(gè)怎么控制呢,就需要interfance來(lái)把關(guān)了,所以interfance是為了顯示說(shuō)明接口類,使得多繼承的時(shí)候不至于混亂

第三個(gè)問(wèn)題:靜態(tài)方法屬于類,普通方法屬于對(duì)象。在調(diào)用靜態(tài)方法的時(shí)候,可能沒(méi)有實(shí)例化對(duì)象,所以只有靜態(tài)字段和屬性可以調(diào)用,這種情況下,我們可以認(rèn)為,靜態(tài)方法是用來(lái)調(diào)用靜態(tài)字段或者屬性的。普通方法是用來(lái)調(diào)用普通字段的。如果你學(xué)過(guò)C語(yǔ)言或者C++語(yǔ)言,你會(huì)發(fā)現(xiàn),C#中的靜態(tài)字段更像是一個(gè)全局變量,而靜態(tài)方法是為了更方便的利用這個(gè)全局變量。

查看完整回答
1 反對(duì) 回復(fù) 2017-08-29
  • 1 回答
  • 0 關(guān)注
  • 1222 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)