最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

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

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

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

1 回答

已采納
?
a_flying_fish

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

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

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

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

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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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