Attribute 和 Property 的区别

发布时间 2024-01-10 14:26:27作者: 3的4次方

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中的数据。