Attribute 和 Property 的区别
Attribute 和 Property 的区别
在阅读源码文档时,经常会看到 Attribute 和 Property 这两个词。中文直译是相同的,这就导致了概念的混淆。因此有必要区分这两者。
Property 在英语里有财产的含义,一般指对象的组成部分,可以是简单数据也可以是对象或对象集合. Attribute 多指一个对象的特征,绝大的数情况下是一个描述性的数据。
打个比方:张三是中国人,身上有一百块钱。中国人就是张三的attribute, 100块钱就是张三的property.
在编程语言中
Attribute 是在类中出现的成员;Property 是类中方法对应类成员的形参。即可以理解为 Attribute 是 Property 的抽象,Property 是 Attribute 的具体化。
public class User {
private int id;// 是Attribute
public int getId() {
return id;// 是Property
}
public void setId(int id) {
this.id = id;// 是Property
}
}
在协议中
例如X协议,Attribute 是窗口的各种特征(大小、位置、颜色等);Property 是协议数据报中填写的内容,是X Client注册到X Server中的数据。