[英]Are Java getters and setters simply methods?
以下是真實的:Java getter和setter只是方法。
我知道它們被實現為操縱或獲取私有...屬性/字段的值。 但是可以稱他們為方法嗎?
是的,沒關系,他們只是方法!
從技術上講,從語言和VM的角度來看,是的,它們只是方法。
然而,一些圖書館和框架認識到它們的特殊性。 例如,JPA可用於通過注釋字段或方法來映射“屬性”。 Beans Binding庫使用它們來訪問屬性,所以如果你在某個對象上有一個getText() / setText()
對,那么你可以將“text”屬性綁定到某個其他對象的某個其他屬性(你仍然需要盡管如此,請執行addPropertyChangeListener
魔術。 但這只是一種“配置約定”現象與反射的力量相結合。
幸運的是,我能夠在谷歌中推出Craig Larman的“應用UML和模式” 一書 。 如引述
Accessing methods retrieve(accessor method) or set(mutator method)
attributes. In some languages such as Java it is a common idiom to
have an accessor and mutator for each attribute, and to declare all
attributes private(to enforce data encapsulation). The methods are
excluded in the class diagram because of the high noise-to-value ratio
they generate."
是的,基本上他們是方法。 Java方法的標准定義如下:
方法是一組代碼,由名稱引用,只需使用方法名稱即可在程序中的任何位置調用(調用)。
因此,您可以將方法視為類本身中的小程序,這些方法允許我們完成特定任務,這也正是getter和setter所做的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.