category: Java
DATE : 2006/05/29 (Mon)
DATE : 2006/05/29 (Mon)
プロパティの定義方法
以下の形式のメソッドを定義すると、プロパティを定義できます。
なお、<PropertyType> はプロパティの型、<PropertyName> はプロパティ名です。また、設定用のメソッドの引数名は自由です。
メソッドに書くプロパティ名の先頭は大文字です。
読み取り用 | public <PropertyType> get<PropertyName>() |
---|---|
書き込み用 | public void set<PropertyName>(<PropertyType> arg) |
上記のメソッドを両方定義すると、読み取り書き込み可能 (read-write) プロパティ、前者しかない場合は読み取り専用 (read-only) プロパティ、後者しかない場合は書き込み専用 (write-only) プロパティになります。
なお、<PropertyType> が boolean 型の場合は、以下の形式でもプロパティが定義されます。
読み取り用 | public <PropertyType> is<PropertyName>() |
---|---|
書き込み用 | public void set<PropertyName>(<PropertyType> arg) |
読み取り用のメソッド名の先頭が get から is に変わっただけです。
プロパティの定義の例を以下に示します。
(import 宣言やメソッドの中身などは省略)
// date プロパティ(読み出し書き込み可能)
public Date getDate() { ... }
public void setDate(Date date) { ... }
// age プロパティ(読み出し専用)
public int getAge() { ... }
// list プロパティ(書き込み専用)
public void setList(List list) { ... }
// human プロパティ(読み出し専用)
public boolean isHuman() { ... }
なお、メソッドの中身は自由です。つまり、そのプロパティに相当するフィールドの値を操作してもよいですし、他の値を操作しても問題ありません。
プロパティ名
上の例で見たように、メソッド名には get や is の直後の文字を大文字で書きます。しかし、実際のプロパティ名は、その文字を小文字にした文字列となります。
例えば、getHoge のプロパティ名は hoge となります。
ただし、getURL などの、get や is の直後の次の文字も大文字の場合は、直後の文字は小文字に変わりません。
つまり、getURL のプロパティ名は URL となります。
参考文献
PR
●この記事にコメントする
忍者ブログ [PR]