C 我乙個人的專案,如果我自己寫的所有類欄位,所有類名,所有方法名都變為public會有什麼坑嗎?

時間 2021-06-09 05:06:34

1樓:main

不僅全public,還要全static,所有方法直接呼叫方便的一批,娘炮才new物件,就要public !static !一把嗦!

2樓:

但你coding 的時候效率會低一些.....對於一些比較大的類,補全的時候要翻好久才能找到想要的,而且一不留神就會調了不該調的東西

3樓:自由飛

舉個最簡單的例子吧,乙個User(使用者)類,裡面有乙個Password(密碼),大神的寫法:

public

class

User

public

void

SetPassword

(string

rawPassword)}

把set設定成private(其實從安全角度考慮,get應該封裝,此次略過),然後使用乙個SetPassword()方法設定使用者密碼,在SetPassword()方法中對密碼進行MD5加密。

你要想給Password賦值就只能呼叫SetPassword()方法。

幹嘛要怎麼複雜呢?你想,直接public的屬性不香麼?就這樣:

public class Userpublic string Password

確實,好像沒啥問題,你告訴大家:

不要把使用者輸入的密碼直接儲存,要先呼叫個MD5Encrypt()方法,就像這樣:

user.Password = "1234".MD5Encrypt();

小夥伴們都說:

好勒,記住啦!

記住個毛線,你自己說不定哪天都忘了!

若干天後,哪個傻屌就忘了給密碼加密,直接寫成這個樣子:

user.Password = "1234";

因為某種陰差陽錯的原因,沒有發現這個bug,直接上了產品線,你猜猜會發生什麼結果?

這就叫做

現在當然沒啥,現在都爆了的那叫做雷;

但它會在未來的某個時間點,以一種你意想不到的方式,帶來莫名其妙的bug。

然後就問你:驚喜不驚喜?()

我是一起幫·源棧·大飛哥,知乎泥石流,三觀粉碎機,^_^

4樓:

可視性(visibility)主要是方便給別人(這個別人也包括未來的你自己)用比如你寫類庫將來跟人合作共同開發專案如果是自己折騰倒不重要不過哪天你要跟人合作了還是會遇到這類問題如果可以的話還是建議提前培養好習慣假裝有人使用你寫的模組或庫對將來有好處

5樓:李杭帆

全都加上 public 是個方便的做法。但就要說更符合「我自己」如何如何的意圖,應該用 internal 訪問修飾符和 IgnoresAccessChecksToAttribute、InternalsVisibleToAttribute 程式集特性。

坑點就是缺了訪問限制上的設計,破壞了封裝。

正常開發中,只有極少數情況會賦予成員額外高的公開級別(例如:容器類公開底層陣列,StrongBox 公開 Value 字段)。即使如此,仍應該通過文件或命名規則(例如下劃線字首)等方式提示庫的消費者小心使用。

另外,用好 DebuggerBrowsableAttribute 來調整 IDE 和偵錯程式如何顯示成員,也可以算是在某種意味下加上了訪問修飾符。

6樓:無海

自己用問題不大,我自己也是這樣的,為了就是呼叫方便吧;

但是吧,寫到後來發現乙個非常嚴重的問題,

就是耦合太高,導致的結果就是牽一發動全身,所以現在寫之前都特別慎重,盡量的高內聚低耦合,否則後期真的,太痛苦了。一定要想好如何抽象類

7樓:高齡程式設計師

不會有什麼坑,就像你自己給你自己做一件衣服,所有口袋都縫在外面而且沒有扣子沒有拉鍊,你自己覺得方便拿取並且記得位置並且用來裝什麼就好。

反正這衣服就你自己穿,無非是有時候被別人看到了會讓別人覺得有點奇怪,其他沒什麼。

8樓:

如果是自己乙個人的專案,確實在多數情況下,全用public呼叫起來確實會挺方便的,但有時還是必須要用其他修飾符的,否則完全就破壞了自己的設計意圖。

比如我寫乙個時間類,並需要校驗資料,我會這樣寫:

public

class

TimeTest

set_hour

=value;}

}}那如果把_hour的修飾符從private改成public,豈不是構造這個類時,該給哪個賦值?賦錯了也沒可能沒法得到檢驗,整個程式就徹底亂套了。

或許你說可以加個建構函式替代掉無引數的建構函式,這樣就沒事了,構造類的時候就沒法設定_hour了

public TimeTest(int hour)

可如果這個時間類裡還要有年月日分秒毫秒呢?那又要為了避免誤設定搞多少個建構函式?

所以,各種修飾符設計出來都是有其道理的,要結合使用場景進行分析。全部public確實寫起來、呼叫起來爽了,但坑也不少,可能會降低效率,不一定可取。

我買房寫我乙個人的名字,是我錯了嗎?

gknw 首先,當時他們全家站一起,就該離。其次,乙個陌生的地方,你呆那幹嘛?最後,愛過過,不過拉倒。婚後,你要是一點錯,他全家都來。房子首付是你,又怎樣,後續房貸呢,他出,他也有份,做事,看得是長遠,不是衝動。 伯約 沒領證就不叫離婚,所以何來的離婚?如果覺得不合適,可以分開,但是彩禮錢退回給他,...

乙個人吃飯 乙個人看書 乙個人看電影,我的生活這樣有意義嗎?

你喜歡你的生活,它就是可行的 你不喜歡你的生活,你為什麼要那樣生活 別活在別人的評價標準裡,誰都不能與你感同身受,你竟然會問別人這種問題。自己的心情只有你自己知道,彷徨什麼 至於你說的有沒有意義,我的生活為了尋求快樂自在,只要我能在現有的生活條件裡給自己創造放鬆自在,管他有沒有意義呢,反正我想要的都...

我在大學裡乙個人上課,乙個人吃飯,乙個人看書,乙個人上學,這種情況該怎麼辦?

拾荒者 沒有人能一直陪著誰,所以提前適應是好事,雖然很艱難很艱難,但是走過來就好了。這學期三四月份我和好朋友冷戰,那段日子真的很難捱。我感到一股深深地無力感,但是盡量維持生活的秩序,就已經耗盡了所有力氣。有一次去了圖書館五樓,看到很多書架上那些我乙個字母都看不懂的書,我問自己,情醒了沒?站在書架間,...