javadocでメンバを示す書き方

このQ&Aのポイント
  • javadocコメントの書き方で質問です。あるメソッドの返値が、端的にそのクラスのメンバであることを示す場合の書き方があったりするのでしょうか?
  • javadocコメントの書き方で質問です。特定のクラスのメソッドの返値が、そのクラスの特定のメンバであることを示す働きを果たせる方法について知りたいです。
  • javadocコメントの書き方で質問です。特定のメソッドの返値が、そのクラスの特定のメンバであることを明示的に示す方法があるのでしょうか?
回答を見る
  • ベストアンサー

javadocでメンバを示す書き方

javadocコメントの書き方で質問です。 あるメソッドの返値が、端的にそのクラスのメンバであることを示す場合の書き方があったりするのでしょうか? 下記の例でいうと、「@return バナナの値段」のところですが、メンバのbananaに絡めて書くことはできないでしょうか? /** * 値段 * @author aaaa * @version 0.1 */ class nedan{ /** バナナの値段 */ private int banana = 50; /** * バナナの値段を返すメソッド * @return バナナの値段 */ public int get_banana(){ return this.banana; } }

  • Java
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

JavaBeansのプロパティの命名規則に従ってコーディングすれば、それがメンバであることが一目瞭然なのでjavadocのコメントで対応する必要を感じません。 public int getBanana() と書いてあれば、それはメンバー変数bananaを取得するメソッドだよって分かります。 メソッドの命名規則は、もちろん各社各人自由ですが、上記ルールで実施している所は多いと思いますよ。

nomoremusic
質問者

お礼

ありがとうございました。 JavaBeansは恥ずかしながら初めてしりました。 命名規則もネットにあったので、これに従って書こうと思います。 http://www.asahi-net.or.jp/~dp8t-asm/java/tips/JavaBeansSignature.html

関連するQ&A

  • メンバ関数のconst

    class CTest { public: int Fnc() const { return 1; } int Fnc() { return 0; } }; どうでもいい質問かもしれませんが このクラスのFnc()を呼んだ場合 return 0のメソッドが 呼ばれました。(gcc3.4,bcc5.5,VC++7.1共に) const( return 1 )の方を明示的に呼び出す事は可能でしょうか?

  • クラス継承 メンバ引継ぎとprivateについて

    「クラス継承時のメンバ引継ぎの意味」と、 「privateでオーバーライドさせた際の挙動」ついて教えてください。 class Pa{  private $level="10";  public function getLevel(){   return $this->level;  } } class Ch extends Pa{  protected $level="5"; } $ch = new Ch(); echo $ch->getLevel(); このとき、$ch->getLevel();は、 Paクラスのメソッドをchオブジェクトで見に行ってるのでしょうか? それとも、Chクラスに引き継がれたメソッドを見に行っているのでしょうか? また、このときの「$this」「$this->level」は、それぞれ何を意味しているのでしょうか? また、このときの、Chクラスの「$level」は、どういう状態(扱い)になっているのでしょうか? エラーにならないのですが、再定義扱いされないのでしょうか? 新定義扱いされてるってことでしょうか? 「privateメンバを継承した際」、どういう動きをするのか(ルールになっているのか)教えてください。

    • ベストアンサー
    • PHP
  • 継承について

    下の質問の回答、間違ってませんか? -------------------------------------------- 親クラスのフィールドをメソッドを全て継承することになります。よって、サブクラス2は、サブクラス1とスーパークラスのメンバーを全て持つことになります。サブクラス2をインスタンス化すると、サブクラス1とスーパークラスが全てインスタンス化(コンピューターのメモリ上等に配置)されます。 ただ、可視性というものがあり、サブクラスから親クラスのメンバーを直接取り扱えない場合があります。privateや可視性修飾子無しの場合、サブクラスから直接取り扱えません。ただ、継承はされているので、インスタンスとしては存在します。例えば、 class スーパークラス{ private int abc; public int getAbc(){ return this.abc; } というクラスがあり、これを継承したサブクラスがあったとします。 サブクラスからは、privateなメンバー変数abcは直接取り扱うことができません。ただ、publicなgetAbcメソッドはサブクラスから取り扱えます。これで何が分かるかといいますと、privateなメンバーでもサブクラスに継承されるのです。単に可視性の問題で直接取り扱えないだけなのです。 また、オーバーライドされたメソッドがあったとしても、super.メソッド()で親のメソッドも呼べますので、これも継承されているのです。

  • ネストトップクラス・メンバクラスについて

    現在、SJC-P取得に向け独学でJavaの勉強中です。 ネストクラス・インナークラスについて勉強している最中なのですが、 数冊テキストを読み込んでも、web検索をしても、イマイチよくわからない・・・というのが正直なところです。 どのクラス(アウタークラス/staticインナークラス/非staticインナークラス)の、 どういうメンバ(static/非static/private/final)が、 どのクラスのどういうメンバにアクセス出来るのかが整理しきれません・・・。 わからないなりに、まとめてみたのですが、理解が不十分で、かつ、この下記の通りの理解で正しいのかどうかもわかりません。 (言葉でうまく表現も出来ていない箇所も・・) また理解すべきポイントに不足があるかと思います。 どこが正しく理解出来ているのか・どこがどう間違っているかの指摘及びその内容・理解不足の箇所・よりわかりやすい例の追加や補記など、どうかよろしくお願い致します。 ●staticなインナークラス(=ネストトップクラス)について ・アウタークラスのインスタンスなしに、staticなインナークラスのインスタンスの生成が出来る。 ・staticなインナークラスからはアウタークラスの非staticメンバを直接アクセス出来ない。 (→ただし、staticアウターメンバになら直接アクセス出来る?staticであればprivateでもアクセス可?) ・staticなメソッド内で非staticなインナークラスのオブジェクトが生成出来ない。 ●非staticなインナークラス(=メンバクラス)について ・非staticなインナークラス内にstaticなメンバを持つことは出来ない。 ・アウタークラスのインスタンスを生成してからでないと非staticなインナークラスのインスタンスは生成出来ない。 ・アウタークラスの非staticメンバ及びstaticメンバに直接アクセス出来る。 ●アウタークラス(=外部クラス)について ・アウタークラスのstaticメソッド内で非staticなインナークラスのインスタンスは生成出来ない。 ・非staticインナークラスのメンバ及び、staticなインナークラスのメンバにアクセス出来る。 --------------------------------------------------------- (例)処理はさておき、定義はこんな感じを思い描いております・・ class Outclass{   private int aa;   private static int bb;   private outMethod1();   private static outMethod2();   class NotStaticInner{     private int cc;     //private static int dd;//不可     private inNotStaicMethod1();     //private static inNotStaticMethod2();//不可   }   class StaticInner{     private int ee;     private static int ff;     private inStaticMethod1();     private static inStaticMethod2();   } } 参考テキスト: 『Sun Certified Programmer for Java2 Platform5.0 Exam【310-055】』のChapter11:「ネストクラス・インナークラス」 参考URL: http://wisdom.sakura.ne.jp/programming/java/java46.html

  • メンバ関数にconstをつけた際の問題

    C++を勉強中の学生です。 以下のようなコードで問題が起こりました。 class TEST{ private: int mArray[10]; //(int a;) public: int* get_mArray(void) const; //(int get_a(void) const;) }; int* TEST::get_mArray(void) const{ return mArray;    //配列の先頭要素の値を受け取りたい。 } //(関係のありそうな部分のみを抜き出しました) このコードにおいて、関数は値を変えない事が明白なので、constをつける必要性はないのですが(癖でつけた際に発生した問題です)、 なぜconstをつけると動作しなくなるのか知りたいです。 //()で囲った部分を有効にし、 int TEST::get_a(void) const{return a;}という関数はエラーにならなかったのですが、どのような違いがあるのでしょうか? 出たエラーは(visual C++ 2010) 'const int [10]' から 'int *' に変換できません。 というものでした。 ポインタとconst関連の部分を手持ちの本で勉強しなおしたのですが、解答を得られなかったのでこちらで質問させてもらいます。

  • constのついたメンバ関数

     こんにちは。 C++を勉強しているのですが疑問に思ったことがあります。 const指定したメンバ関数にメンバ変数の変更をすることはエラーになるはずなんですが、 下記にある(*m_pRefCnt)++; はコンパイルが通るようです。 なぜこの一文だけ通るのでしょうか? 以下にソースを添付しておきます。 #include <iostream> class hogeClass { private: int* m_pRefCnt; int val; void AddRef() const { (*m_pRefCnt)++; // これはOK? val = 100; // これは駄目 } void Release() { } public: explicit hogeClass(char* src = NULL) : val(0) { } int& GetRefCnt() { return *(m_pRefCnt); } virtual ~hogeClass() { Release(); } }; int main() { int c = 435, k = 222; using namespace std; hogeClass a; getchar(); return 0; } 分かる人がいたらよろしくお願いします。

  • メンバ変数をpublicにするかset/getメソッドを定義するか

    Smarty入門という本を読んでいると、 class foo {  private $_a;  public function get_a() { return $this->_a;}  public function set_a(a) { $this->_a=a; }  : } というコーディングがありました。 class foo {  public $a;  : } というほうが素直だと思うのですが、上のように書く理由は何かあるのでしょうか? 書籍には、直接アクセスするのは望ましくなく、メソッド経由で行うべきと書いてありましたが、get/setの両方共を定義するならpublicと同じだと思います。 何らかの事情で変数名を変えた場合も、同じ事情でアクセスメソッド名も変えるべきだと思うので、メンテナンス性も同じだと思います。「変数名は絶対変えるべきだがアクセスメソッド名は別に変えなくて良い」というへんてこな事情が発生すれば別ですが。

    • ベストアンサー
    • PHP
  • JSPのアルゴリズムで質問

    取得したい結果を先にいうと、値段表示で、¥120,000とか一般的に表示されますよね。この中に表示されている「,」カンマだけの数をカウントするメソッドを作成したいのですが、どのような方法で作成すればよいかが分かりません。値段は上記以外の表示の場合も考慮します。 例 ¥145 (カンマ無し)    ¥500,000,000,000,000 (複数のカンマあり)など public int count(String nedan){ int canma; StringBuffer sb = new String(nedan); int len = sb.length(); カンマだけの個数を計り結果をreturn canma;で返したいのですが、どうすればよいでしょうか?

    • ベストアンサー
    • Java
  • 問題の解説お願いします。(オーバーロード&オーバーライド)

    class A{ protected int method1(int a , int b){ return 0; } } クラスAを継承したクラスで同時に定義できるメソッド が、 public int method1(int a,int b){return 0;} が良くて private int method1(int a,int b){return 0;} static protected int method1(int a,int b){return 0;} がだめな理由がいまいちわかりません。 法則みたいなものにこう書いてありました。 (オーバーロードについて) 同一クラス内に同一名称のメソッドを定義することができます。 ただし、それらは引数が異なるものでなければならず、 アクセス制御修飾子や戻り値の型だけが異なるメソッドは 定義することができません。 (オーバーライドについて) サブクラスでは、スーパークラスに存在するメソッドと同一引数・ 同一戻り値型を持つメソッドを定義することが許されています。 これら以外にも何か決まりがあるのでしょうか よろしくお願いします。

    • ベストアンサー
    • Java
  • 参照の初期化?~int& alias2 = get() + alias1;分かりません

    <c++です>こんばんは、宜しくお願い致します。 > class CSample > { > public: > CSample(){ m_num = 123; } // コンストラクタ > int& get(){ return m_num; } // メンバ変数を参照戻し > private: > int m_num; > }; >(1) int& alias1 = get(); >(2) alias1 *= 2; >(3) int& alias2 = get() + alias1; // このようにブロックの途中で宣 >言できるとできます。 あるサイトで↑のようなサンプルプログラムがあるのですが(1)は分かるのですが(参照の初期化をしている)、(3)の動作が分かりません。参照の初期化みたいですが、参照型の戻り値get()に変数alias1を足しているのですがそれを別の参照alias2の初期化みたいになっており理解できません。教えてください。

専門家に質問してみよう