鴻蒙OS ObjectAttribute

2022-08-26 11:28 更新

ObjectAttribute

java.lang.Object

|---ohos.utils.ObjectAttribute<O,T&

public abstract class ObjectAttribute<O,T>
extends Object

對(duì)象屬性的抽象類。

ObjectAttribute 類具有以下特征:

  • 您可以重寫 get(java.lang.Object) 和 set(java.lang.Object,java.lang.Object) 方法來實(shí)現(xiàn)通用的 setter 和 getter 方法,從而使代碼更干凈。
  • 對(duì)對(duì)象屬性的引用被展平。 例如,對(duì)象 A 需要持有對(duì)對(duì)象 B 的引用才能訪問其屬性之一,但對(duì)象 B 有多個(gè)其他屬性應(yīng)該對(duì)對(duì)象 A 隱藏。在這種情況下,您可以使用 ObjectAttribute 類僅封裝可訪問的 對(duì)象 B 的屬性并將其傳遞給對(duì)象 A。
  • 您可以覆蓋 set(java.lang.Object,java.lang.Object) 方法以將對(duì)象屬性設(shè)置為只讀。

構(gòu)造函數(shù)摘要

構(gòu)造函數(shù) 描述
ObjectAttribute(ClassT attrType, String attrName) 用于根據(jù)指定的屬性類型和名稱創(chuàng)建 ObjectAttribute 實(shí)例的構(gòu)造函數(shù)。

方法總結(jié)

修飾符和類型 方法 描述
abstract T get(O obj) 獲取指定對(duì)象的屬性值。
ClassT getAttrType() 獲取當(dāng)前 ObjectAttribute 對(duì)象中封裝的屬性的類型。
String getName() 獲取封裝在當(dāng)前 ObjectAttribute 對(duì)象中的屬性名稱。
boolean isReadOnly() 檢查當(dāng)前 ObjectAttribute 對(duì)象中封裝的屬性是否為只讀。
void set(O obj, T value) 設(shè)置指定對(duì)象的屬性值。
從類 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

構(gòu)造函數(shù)詳細(xì)信息

ObjectAttribute

public ObjectAttribute(ClassT attrType, String attrName)

用于根據(jù)指定的屬性類型和名稱創(chuàng)建 ObjectAttribute 實(shí)例的構(gòu)造函數(shù)。

參數(shù):

參數(shù)名稱 參數(shù)描述
attrType 指示對(duì)象屬性的類型。
attrName 表示對(duì)象屬性的名稱。

方法詳情

get

public abstract T get(O obj)

獲取指定對(duì)象的屬性值。 此屬性是封裝在當(dāng)前 ObjectAttribute 對(duì)象中的屬性。

參數(shù):

參數(shù)名稱 參數(shù)描述
obj 表示要訪問的對(duì)象。

返回:

返回封裝在當(dāng)前 ObjectAttribute 對(duì)象中的屬性值。

set

public void set(O obj, T value)

設(shè)置指定對(duì)象的屬性值。 此屬性是封裝在當(dāng)前 ObjectAttribute 對(duì)象中的屬性。

參數(shù):

參數(shù)名稱 參數(shù)描述
obj 表示要訪問的對(duì)象。
value 指示要設(shè)置的屬性值。

isReadOnly

public boolean isReadOnly()

檢查當(dāng)前 ObjectAttribute 對(duì)象中封裝的屬性是否為只讀。

如果返回 true,調(diào)用 set(java.lang.Object,java.lang.Object) 方法時(shí)會(huì)拋出 UnsupportedOperationException 異常。

返回:

如果屬性是只讀的,則返回true,表示set(java.lang.Object,java.lang.Object)方法不能更新屬性值。

getName

public String getName()

獲取封裝在當(dāng)前 ObjectAttribute 對(duì)象中的屬性名稱。

返回:

返回表示屬性名稱的字符串。

getAttrType

public ClassT getAttrType()

獲取當(dāng)前 ObjectAttribute 對(duì)象中封裝的屬性的類型。

返回:

返回封裝在當(dāng)前 ObjectAttribute 對(duì)象中的屬性的類型。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)