鸿蒙OS开发文档 鸿蒙OS ObjectAttribute

2024-02-25 开发教程 鸿蒙OS开发文档 匿名 3

ObjectAttribute

java.lang.Object
|---ohos.utils.ObjectAttribute<O,T&

public abstract class ObjectAttribute<O,T>
extends Object

对象属性的抽象类。

ObjectAttribute 类具有以下特征:

  • 您可以重写 get(java.lang.Object) 和 set(java.lang.Object,java.lang.Object) 方法来实现通用的 setter 和 getter 方法,从而使代码更干净。
  • 对对象属性的引用被展平。 例如,对象 A 需要持有对对象 B 的引用才能访问其属性之一,但对象 B 有多个其他属性应该对对象 A 隐藏。在这种情况下,您可以使用 ObjectAttribute 类仅封装可访问的 对象 B 的属性并将其传递给对象 A。
  • 您可以覆盖 set(java.lang.Object,java.lang.Object) 方法以将对象属性设置为只读。

构造函数摘要

构造函数描述
ObjectAttribute(ClassT attrType, String attrName)用于根据指定的属性类型和名称创建 ObjectAttribute 实例的构造函数。

方法总结

修饰符和类型方法描述
abstract Tget(O obj)获取指定对象的属性值。
ClassTgetAttrType()获取当前 ObjectAttribute 对象中封装的属性的类型。
StringgetName()获取封装在当前 ObjectAttribute 对象中的属性名称。
booleanisReadOnly()检查当前 ObjectAttribute 对象中封装的属性是否为只读。
voidset(O obj, T value)设置指定对象的属性值。
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

构造函数详细信息

ObjectAttribute

public ObjectAttribute(ClassT attrType, String attrName)

用于根据指定的属性类型和名称创建 ObjectAttribute 实例的构造函数。

参数:

参数名称参数描述
attrType指示对象属性的类型。
attrName表示对象属性的名称。

方法详情

get

public abstract T get(O obj)

获取指定对象的属性值。 此属性是封装在当前 ObjectAttribute 对象中的属性。

参数:

参数名称参数描述
obj表示要访问的对象。

返回:

返回封装在当前 ObjectAttribute 对象中的属性值。

set

public void set(O obj, T value)

设置指定对象的属性值。 此属性是封装在当前 ObjectAttribute 对象中的属性。

参数:

参数名称参数描述
obj表示要访问的对象。
value指示要设置的属性值。

isReadOnly

public boolean isReadOnly()

检查当前 ObjectAttribute 对象中封装的属性是否为只读。

如果返回 true,调用 set(java.lang.Object,java.lang.Object) 方法时会抛出 UnsupportedOperationException 异常。

返回:

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

getName

public String getName()

获取封装在当前 ObjectAttribute 对象中的属性名称。

返回:

返回表示属性名称的字符串。

getAttrType

public ClassT getAttrType()

获取当前 ObjectAttribute 对象中封装的属性的类型。

返回:

返回封装在当前 ObjectAttribute 对象中的属性的类型。