[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends] Re: getterの命名について



アステル関西まっTelサービス(着信専用サービス、月額基本料金¥0)申込受付中
通話ができるので、彼女や、塾通いお子さんにもう1台!http://www2.gulf.or.jp/ 
---------------------------------------------------------------------------

いなみです。

On Thu, 07 Oct 1999 17:29:45 +0900
「[jfriends] Re: getterの命名について」にて
Shin <shin@xxxxxxxxxx> wrote:

> >> boolean isNull(Object target) {
> >> 	return target == null;
> >> }
> >> というのがObjectクラスにあれば、どこからでもisNull(target)とか
> >> isNull(bar.getFoo())とか出来ます.
> >
> >えっと、static メソッドでなくて、でしょうか(^^;
  :
> いや、クラス名を書かなくて言いというだけでっす.
> staticはあってもなくても同じですね.
> (所詮冗談ですんで)

# 冗談だといっているところにナンですが(^^;
一度は納得したものの撤回します(笑)

---
その1:
 Object に static では無い isNull(Object o) があったとして
   class MainAppli {
      public doSomething() {
          Foo foo = ..... ;
          if (isNull(foo)) {
              // ここは OK
          }
      }

      public static void main(String[] args) {
          Main main =new Main();
          main.doSomething();

          Foo foo = ....;
          if (isNull(foo)) {
              // はコンパイルエラーになるはず
          }
      }
}
など,static メソッドからは呼べないのではないでしょうか。

その2:
# 便利ではあるでしょうけど,プログラムそのものの意味を考えると
単に気分の問題ですが,オブジェクトを省略したのは気持ち悪く
ないですか? 
メソッド呼び出し時に省略可能な「this」ですが,上記サンプルプ
ログラムで言えば main.isNull(foo) な感じだと思うですが,私的
には「頼む相手が間違ってる」としか思えないんです(笑)
省略するくらいなら Object.isNull(foo) の方がマシな気がしてき
ました(^^;

その3:
> そう書きたいいという人がいれば自分のクラスライブラリはみーんな上
> 記いなみさんのFooをextendsすればいいんでしょうね.

class MyApplet extends Applet { ....
と書き始めて悩むんじゃないでしょうか(^^;


---
井浪