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

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

靜態(tài)與非靜態(tài)類成員

靜態(tài)與非靜態(tài)類成員

C#
有只小跳蛙 2019-11-18 14:33:03
我是c夏普和編程方面的新手。我有一個(gè)快速的問題-關(guān)于靜態(tài)/非靜態(tài)變量的最佳實(shí)踐是什么?我有一個(gè)變量,private int x,它屬于y類。要訪問此變量,我需要引用y。但是,如果x是靜態(tài)的,我可以訪問該變量而無需引用y。在y類中的多個(gè)方法將引用該值的情況下,哪種方法最好?希望這是有道理的,我的問題不是太基本了!非常感謝
查看完整描述

3 回答

?
aluckdog

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

您需要考慮靜態(tài)變量屬于該類,而不是該類的實(shí)例。

如果在類的所有實(shí)例中此變量都應(yīng)該相同,請(qǐng)使用靜態(tài)變量。

如果不是,請(qǐng)使用實(shí)例變量。

通常,使用公共靜態(tài)變量是一種不好的做法 -它是共享的全局資源,如果更改它,則需要同步對(duì)其的訪問。您要避免擁有全局狀態(tài)。


查看完整回答
反對(duì) 回復(fù) 2019-11-18
?
瀟瀟雨雨

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

我不能說一個(gè)更好,因?yàn)樗鼈冇胁煌挠猛尽?/p>

您熟悉OOP嗎?在OOP中,可以直接從類訪問靜態(tài)對(duì)象或類的成員,而只能從其所屬的實(shí)例訪問非靜態(tài)成員。

C#遵循類似的方法原理??梢灾苯訌念愔性L問靜態(tài)方法,而非靜態(tài)方法(或我喜歡稱呼它們的實(shí)例方法)必須從實(shí)例中訪問。這就是為什么實(shí)例方法需要實(shí)例化的原因,而靜態(tài)方法則不需要實(shí)例化,而且不切實(shí)際(見下文)。

在OOP中,靜態(tài)變量用于無法由實(shí)例變量存儲(chǔ)的值。示例:假設(shè)您想統(tǒng)計(jì)一個(gè)類存在多少個(gè)實(shí)例?您如何將其存儲(chǔ)在單個(gè)實(shí)例中?

這些方法使用類似的原理。它們應(yīng)用于在類的實(shí)例中不可行的過程。我傾向于將它們用于廣泛的過程(而不是技術(shù)術(shù)語),這意味著不需要我實(shí)例化對(duì)象的過程。示例,添加兩個(gè)參數(shù)。(此用法可能正確,也可能不正確,但我相信是這樣)

但是,如果要添加對(duì)象的兩個(gè)屬性,則該方法不能是靜態(tài)的,因?yàn)槟芸炀蜁?huì)意識(shí)到,靜態(tài)方法無法訪問類中的實(shí)例方法或變量。當(dāng)然這是有道理的,因?yàn)槌潜桓嬷?,否則該靜態(tài)方法將不知道從哪個(gè)類的實(shí)例獲取這些信息,因?yàn)樗皇菍?shí)例本身的一部分)

為了不使事情進(jìn)一步復(fù)雜化,我將在這里停止。讓我知道您是否誤解了什么。


查看完整回答
反對(duì) 回復(fù) 2019-11-18
  • 3 回答
  • 0 關(guān)注
  • 356 瀏覽

添加回答

舉報(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)