タグ

elixirとclojureに関するigrepのブックマーク (1)

  • 継承によらないポリモーフィズム実現手法 - Qiita

    ポリモーフィズム(polymorphism; 多態, 多相)」というとオブジェクト指向プログラミングにおける継承(インターフェースの継承)による実現手法がよく知られている。 しかし、ポリモーフィズムを実現するための手法はオブジェクト指向的な型階層によるものに限らず様々なものがある。 ここでは、Expression Problemに対する解決策として挙げられる、継承によらないポリモーフィズムの代表的な実現手法として、 型クラス(type class) プロトコル(protocol) マルチメソッド(multimethod) による実装を複数言語で試してみた。 いずれの方法も明示的な継承関係を必要とせず、拡張に対して開いているため、既存の型(例えば言語組み込み型)に対しても容易に拡張可能なことが特徴的で、ある種のインターフェース定義に対する実装を追加することで、いつでも適用範囲を拡大できる。

    継承によらないポリモーフィズム実現手法 - Qiita
  • 1