鸿蒙OS ObjectAttribute

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 T get(O obj) 获取指定对象的属性值。
ClassT getAttrType() 获取当前 ObjectAttribute 对象中封装的属性的类型。
String getName() 获取封装在当前 ObjectAttribute 对象中的属性名称。
boolean isReadOnly() 检查当前 ObjectAttribute 对象中封装的属性是否为只读。
void set(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 对象中的属性的类型。

版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《鸿蒙OS ObjectAttribute》
文章链接:https://zhuji.vsping.com/314013.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。