0
A
回答
6
在面向對象的術語中,變量是否有意義作爲對象的屬性?如果是這樣,你應該把它變成一個字段變量。如果沒有,它可以去任何一方面。
記住單一責任原則 - 精心設計的課程應該只有1項責任,因此只有1個理由需要改變。
1
我絕對繞不變量傳遞給其他方法,除非有一個非常具體的原因。如果變量在類中多次使用,則將其設置爲字段變量。這幾乎總是讓你的代碼更加靈活。
一般來說,你也可以認爲變量作爲類的一部分是有意義的。也就是說,Car
類具有變量numOfMiles
是有意義的,即使它只用了幾次。但是,如果有一種方法是int GetAmountOfGasUsed(int milesThisTrip)
,將英里變量作爲局部變量傳遞是有意義的,因爲您旅行的距離可能不是特定於汽車的。
7
一個字段表示某種與您的班級實例相關的狀態。例如,BankAccount
可能有一個balance
字段。
您不應該使用字段來簡化將數據從一個方法傳遞到另一個方法。這根本不是它的目的。這樣做也會使您的方法內在地線程不安全或需要同步。
局部變量只是臨時存儲數據,用於支持正在通過方法完成的操作。例如,
public void addInterest(double rate) {
double toAdd = rate * balance;
logTransaction("Interest", toAdd);
balance += toAdd;
}
TOADD這裏是沒有意義的,因爲現場是臨時的操作,而不是該帳戶的狀態的一部分。
0
如果使用該變量的方法也需要修改該值,那麼通過所有方法將其設置爲字段變量。但是,如果他們只讀取價值,就可以安全地將它傳遞出去。
相關問題
- 1. 使用字段變量選擇字段
- 2. 如何使用變量字段名稱來增加mongodb字段?
- 3. 在Pentaho中使用變量JSON字段
- 4. 在字段上使用變量
- 5. 使用字段值作爲SAS變量
- 6. 使用MongoDB字段值作爲變量
- 7. 使用變量選擇字段PHP
- 8. 使用變量獲取資源字段
- 9. 在mysql字段中使用php變量
- 10. 使用表單字段的Javascript變量
- 11. 何時使用PHP的變量變量?
- 12. 如何使用內部連接使用2個變量字段?
- 13. 使用隱藏字段變量時C#字段初始值設定錯誤
- 14. 如何在使用$ push和變量字段名時使用$ each和$ position?
- 15. 如何在rawQuery的wherearg字段中使用字符串變量?
- 16. 如何使用變量更改文本字段的字體
- 17. Access窗體上的引用字段如何使用變量?
- 18. 如何使用字段名稱的變量訪問namedtuple的字段?
- 19. 如何使用變量作爲字段名稱更新單個字段?
- 20. 使用變量時
- 21. 如何在字段中使用變量笨
- 22. 如何使用變量no創建表單。字段集
- 23. PL SQL如何使用變量尋址記錄字段
- 24. Laravel排名字段如何在MySQL中使用設置變量?
- 25. 如何使用變量從Object的字段中獲取數據?
- 26. Ajax:如何在數據字段中使用變量
- 27. 如何在plpgsql中使用變量作爲字段名稱
- 28. 如何從一段時間內使用變量,但在外面?
- 29. 段錯誤使用變量何時啓動陣列
- 30. 當字段名稱在變量中時,如何訪問類的字段?
相關/重複:http://stackoverflow.com/questions/1794141/java-instance-variables-vs-local-variables – 2010-08-19 23:57:27