在我所有的研究中,我都瞭解到,當我想讓用戶訪問內部屬性時,我不應該直接訪問該屬性,而是通過get/set方法給出訪問權限,例如:我應該公開我的類的屬性嗎?
class myClass
{
private int x;
public void SetX (int x)
{
this.x = x;
}
public int GetX()
{
return this.x
}
}
因爲它提供了允許程序員徹底更容易地改變發動機在不影響用戶,更容易去竊聽的額外的好處,並給出了檢查輸入的有效性更多的選擇。但是,自從我開始在C#中學習和編寫代碼之後,我注意到大多數語言的「本機」類都暴露了它們的屬性,例如設置/獲取矩形的位置或大小(System.Drawing.Rectangle
) ,您可以直接訪問X
,Y
,Width
和Height
屬性。
我看到暴露屬性的唯一好處是代碼有點簡單。是否有任何其他好處揭露物業?
當我應該公開的屬性,什麼時候應該不是我?
[閱讀本文](http://www.codinghorror.com/blog/2006/08/properties-vs-public-variables.html)。閱讀評論也 – 2013-03-24 14:41:56
@ManishMishra我打算寫一些答案,但後來我讀了您的評論,感謝您的鏈接 – Vamsi 2013-03-24 14:50:02
@ManishMishra,您的鏈接是偉大的,發佈它作爲一個答案(總結什麼是寫在那裏)我會接受它。 – SIMEL 2013-03-25 07:10:47