タグ

ブックマーク / www.is.akita-u.ac.jp (1)

  • Java/欠点 - PukiWiki

    null はオブジェクトでない † null は参照値 (reference value) なので == != による比較はできる。 しかし null はオブジェクトではない。そのため,いちいち if (obj == null) と条件判定をしなければならない。 これは,あたかも,ポリモルフィックなメソッドにおいて (クラスの違いによるディスパッチをせずに)instanceof による場合分けをするようなもので, コードの美しさを損なう→シンプルでなくなる→保守が困難になるという滝壺に落ちていく誘因となる。 純粋なオブジェクト指向プログラミングの観点からは, Null クラスに唯一のオブジェクト null が用意されている とすればよかっただろう。 いくつかのオブジェクト指向言語を比較すると,この方法が最も美しく感じられる。 Java でも同等なことができないことはない。たとえば stat

    kiyo_hiko
    kiyo_hiko 2013/02/04
    メソッドが総称関数ではなくクラスに属してしまうから多重ディスパッチができない。ダブルディスパッチ、Visitorパターンを使う必要がある。
  • 1