タグ

programmingとoopに関するMukeのブックマーク (2)

  • デザインパターンを読み解く

    ポリモーフィズム(サブクラスによる切り替え、抽象化) ここに分類されるのは、オブジェクト指向の第3原則、ポリモーフィズムを使用したパターンです。ポリモーフィズムを使用すると、動的に使用するクラスを切り替えることができます。<参照> 他に分類されているものでも、ポリモーフィズムが重要な位置を占めているものもありますが、ここではそれしか使われていないものを扱います。 ただデザインパターン全体を通して強調されているのは、インターフェースでプログラミングするということです。実装への依存をなくし、そうすることによって設計の骨組みを明らかにするのです。 Template 次のようなメソッドがあった場合に、処理Bのところを条件によって変えたい場合があるとします。 class Hogehoge { void doit() { ... 処理A ... ... 処理B ... ... 処理C ... } }

  • 関数型・オブジェクト指向なプログラミングパラダイムについて思うところ - 技術memo

    動機 イメージ論でない言語パラダイムに関する話を書きたかった。*1 まともな意見をインターネット空間に1つでも多く残しておきたかった。*2 要約 オブジェクト指向プログラミングはデータに対する操作をオブジェクト*3として抽象化する。 関数型プログラミングでは関数による抽象化を基とする。 言語設計の問題と概念の問題は、混同すべきではない。 オブジェクト指向プログラミング 題材 Consというデータ構造を考えてみます。 Consは任意のデータのペアから成り、その片方をCar、もう片方をCdrと呼びます。 それはJava風に書けば次のようになるでしょう。 public final class Cons{ private Object car; private Object cdr; public void setCar(Object x){ this.car = x; } public voi

    関数型・オブジェクト指向なプログラミングパラダイムについて思うところ - 技術memo
  • 1