鸿蒙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 对象中的属性的类型。