凪瀬 Blog
Programming SHOT BAR

目次

Blog 利用状況
  • 投稿数 - 260
  • 記事 - 0
  • コメント - 48909
  • トラックバック - 192
ニュース
広告
  • Java開発者募集中
  • 経歴不問
  • 腕に自信のある方
  • 富山市内
  • (株)凪瀬アーキテクツ
アクセサリ
  • あわせて読みたい
凪瀬悠輝(なぎせ ゆうき)
  • Java技術者
  • お茶好き。カクテル好き。
  • 所属は(株)凪瀬アーキテクツ
  • Twitter:@nagise

書庫

日記カテゴリ

 

VBのOptional キーワードで引数の省略ができるらしい、と知って頭に浮かんだのが以下のコード。

    public void hoge() {
        hoge(3);
    }
    public void hoge(int i) {
        hoge(i, 123.4d);
    }
    public void hoge(int i, double d) {
        hoge(i, d, "デフォルト値");
    }
    public void hoge(int i, double d, String str) {
        // ...
    }

オーバーロードを初期値を加えつつ連鎖させる構造。 コンストラクタのオーバーロードなどでもよく見かけます。

そして、各メソッド(もしくはコンストラクタ)のドキュメント部分で、 初期値はXXになっているという情報が記載されることになりますね。

もしもJavaにOptionalがあったとすると

上記のサンプルは以下のような表現になるのではないでしょうか。

    /**
     * サンプルメソッド
     @param i intのパラメータ
     * @optional i 初期値は3をとる
     @param d doubleのパラメータ
     * @optional d 初期値は123.4をとる
     @param str 文字列のパラメータ
     * @optional str 初期値は"デフォルト値"をとる
     */
    public void hoge( optional  int i,  optional  double d,  optional  String str) {
        // ...
    }

コンパイラによってオーバーロードの連鎖が自動で生成できるのであれば便利でしょうね。

※ optionalキーワードおよび@optionalのドックタグはJava6.0時点で実在しない架空のものです。

投稿日時 : 2007年10月3日 14:56
コメント
タイトル
名前
Url
コメント