JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » Java 新手區 » Object/物件導向  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友    訂閱主題
reply to postflat modego to previous topicgo to next topic
本主題所含的標籤
作者 Re:其實“封裝”特性到底有什麽好處?對比“private+setter+getter”和“public+直接使用”兩種方法~ [Re:timestone]
ddtet





發文: 114
積分: 0
於 2011-10-17 09:24 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
個人是覺得,原 po 的例子是「以技術來看說明簡單」但是「以概念而言說明困難」。

我另外舉一個例子,假設你今天寫一個偵測溫度和濕度的類別,其它類別可以得到你所偵測到的資料,
因此其它的類別可以依靠資訊決定是否要啟動室內空調,或是啟動澆花的灑水系統。

(先說明一個前提,「其它的類別」可能是由任何一個人寫出來的)

如果說今天你將屬性(特性)設定成 public 的話,你可能會擔心哪一個天才,去修改你所偵測到的資料,
造成別的類別判斷錯誤,造成你不希望發生的現象,那麼你將會希望你所偵測到的屬性(特性)是唯讀(只讀)的。

因此你可以決定只撰寫 getter 函數,而不撰寫 setter 函數,來確保所有人取得的資料,都是由你所控管的。
換言之,這就是「封裝」這個概念想要提供的「保護」機制。

我認為,物件導向的發展是為了應付大型/複雜的程式,以及多人協作/組合出專案功能所効產生。決對不是記熟定義或理論內容就能夠活用,得靠實作中的經驗的累積才能了解原因。

個人建議,先記得有這麼一個概念就好,等到專案變大或是工作人數變多的時候,再去思考這個問題。

記得我當年自學程式,用了一年才知道 class 是啥東東,學到物件導向概念之後,也是隔了一年才慢慢了解它的精神所在。
到目前為止,我還在不斷的學習物件導向的精神當中…


reply to postreply to post
技術很重要... 所以要增加技術力...

但是技術到一個階段... 想法就很重要了...

技術不夠是作不出來...
想法不對是作到死....
話題樹型展開
人氣 標題 作者 字數 發文時間
4018 其實“封裝”特性到底有什麽好處?對比“private+setter+getter”和“public+直接使用”兩種方法~ timestone 963 2011-10-15 10:55
3961 Re:其實“封裝”特性到底有什麽好處?對比“private+setter+getter”和“public+直接使用”兩種方法~ qwsopp 93 2011-10-15 16:56
3829 Re:其實“封裝”特性到底有什麽好處?對比“private+setter+getter”和“public+直接使用”兩種方法~ Duncan 1760 2011-10-16 02:12
3764 Re:其實“封裝”特性到底有什麽好處?對比“private+setter+getter”和“public+直接使用”兩種方法~ Ponylin 1402 2011-10-16 09:18
3930 Re:其實“封裝”特性到底有什麽好處?對比“private+setter+getter”和“public+直接使用”兩種方法~ timestone 246 2011-10-16 10:01
3757 Re:其實“封裝”特性到底有什麽好處?對比“private+setter+getter”和“public+直接使用”兩種方法~ ddtet 582 2011-10-17 09:24
3851 Re:其實“封裝”特性到底有什麽好處?對比“private+setter+getter”和“public+直接使用”兩種方法~ jimwayne 369 2011-10-17 11:45
3710 Re:其實“封裝”特性到底有什麽好處?對比“private+setter+getter”和“public+直接使用”兩種方法~ caterpillar 368 2011-10-17 11:50
3798 Re:其實“封裝”特性到底有什麽好處?對比“private+setter+getter”和“public+直接使用”兩種方法~ timestone 229 2011-10-17 21:30
» JWorld@TW »  Java 新手區 » Object/物件導向

reply to postflat modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8