我知道這是非常基本的,但我想知道爲什麼我們應該在封裝中使用私有變量。我提到我的代碼。所以我可以給你更好的解釋。封裝中使用公有方法的私有變量的需求是什麼?而不是直接聲明公共變量
Class Employee
{
private String eName;
public String getEname()
{
return this.eName;
}
public void setEname(String name)
{
this.eName=name;
}
這裏「eName」是私人的,所以我們可以限制外部對象直接訪問。變量只能使用其getter setter進行訪問。
現在我的問題是爲什麼我們應該使用getter setter方法?我們不能將變量聲明爲公共。
使用setter方法任何人都可以更改值,所以這個私有變量需要什麼?
另一個問題
我們設置創建讀/寫的,如果我們不創建getter方法唯一的方法則變成只寫,如果我們不創造setter方法,然後它變成只讀。
那麼什麼是隻讀和只寫?
如果我們不創建setter方法,那麼值將如何設置爲變量?
如果我們不創建getter方法,那麼值將如何檢索?
請給我上述簡單問題的答案。
謝謝 :)
當然你可以把它標記爲'public'。但是,如果您這樣做,您如何執行由外部代碼分配給它的值是一個允許值? –
如果您稍後想要爲獲取者和設置者添加副作用,則調用API的任何代碼都不需要更改。 – bhspencer
http://stackoverflow.com/questions/1568091/why-use-getters-and-setters –