5

私のリビジョン リストの JavaBean セクションには、「属性とプロパティの違い」を知っておく必要があると記載されています。私は本当に2つの違いを見つけることができません。JavaBeans がプロパティを使用し、通常の Java クラスが属性を使用することは承知しています (少なくとも、私はそのように呼ぶように教えられました) が、実際の違いはわかりません。

ゲッター/セッターメソッドと関係がありますか?

ありがとう

4

2 に答える 2

7

プロパティと属性は同等です

private int age;

public int getAge() {
    return age;
}

public void setAge(int age) {
    this.age = age;
}

プロパティは属性にage変換されますpersonAge

private int personAge;

public int getAge() {
    return personAge;
}

public void setAge(int age) {
    this.personAge = age;
}

プロパティは合成され、属性はありません

この場合、プロパティは読み取り専用です。

private int age;
private Sex sex;

public boolean isFemaleAdult() {
    return sex == Sex.FEMALE && age >= 18
}

Tapestry のドキュメントに興味深いヒントがいくつか見つかりました。

プロパティは属性と同じではありませんが、ほとんどの場合、各プロパティは属性によってバックアップされます。

以降:

もう 1 つの一般的なパターンは、合成プロパティです。ここでは、実際の属性はまったくなく、値は常にオンザフライで計算されます。

于 2012-05-27T12:36:05.963 に答える
4

大まかに言うと、プロパティはメソッドのペアatype getXXX()/に対応しvoid setXXX(atype )ます。属性はメンバー フィールドを参照します。

于 2012-05-27T12:33:59.173 に答える