1

これはゲッターに関する一般的な質問です。

2つのネイティブプロパティと1つの動的計算プロパティを持つUserクラスがあると仮定します。firstnamelastnamefullname

それらのゲッターに名前を付ける最良の方法は何ですか?

私は元気です:

user->get_firstname();
user->get_lastname();
// or
user->firstname;
user->lastname;

しかし、私はもっと心配しています:

user->get_fullname();
// or
user->fullname;

それは単なる別のネイティブプロパティのように感じますが、そうではないからです。プロパティは読み取りはfullnameできますが書き込みはできません。設定機能はありません。ネイティブプロパティのように操作することはできません。

これらのプロパティ(ネイティブと動的に計算)を区別できるようにしたいのですが、どうすればよいですか?

既存のフレームワークの例と、それらがこれをどのように処理するかは大歓迎です。

4

2 に答える 2

0

あなたの質問が正確に何であるかわかりません。

ただし、フィールドを設定したくない場合は、フィールドのセッターを作成する必要はありません。C# の例を作成しましょう。

public String fullname { get; set; }
public String lastname { get; }

これはうまくいくでしょう。

于 2012-10-18T10:28:45.673 に答える
0

他のゲッターと同じ名前にするべきだと思います。それが基本的なプロパティであるか計算された値であるかは、エンドユーザーから抽象化したい実装の詳細に帰着します。Fullname は、現在は計算値である可能性がありますが、将来的には計算されない可能性があります。将来、これを 1 か所で自由に変更できるようにしたいのですが、パブリック インターフェイスは同じままにしておいてください。

于 2012-10-18T10:34:03.623 に答える