タグ

oopに関するhikazohのブックマーク (3)

  • オブジェクト指向言語と関数型言語 | κeenのHappy Hacκing Blog

    === # 手続き的(自然言語) ------------------------- 入力: `array` - 配列, `n` - 配列の長さ 出力: `array`の要素の合計 1. `sum = 0`, `i=0` とする 2. もし`i` が`n`未満なら4へ飛ぶ 3. 7へ飛ぶ 4. `sum`に`array`の`i`番目を足したものを`sum`に代入 5. `i`をインクリメント 6. 2へ飛ぶ 7. `sum`を返す === # 手続き的(C言語) ---------------- ``` c int procedual_sum(const int array[], size_t n) { int sum = 0; for(size_t i = 0; i < n; i++) { sum += array[i]; } return sum; } ``` === # OOP的発想

    hikazoh
    hikazoh 2018/03/19
  • デザインパターンを読み解く

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

  • [JavaScript] そんな継承はイヤだ - クラス定義 - オブジェクト作成 - Qiita

    JavaScript のオブジェクト作成においてクラス定義で継承を実装する方法はいくつかあります。 正しい継承はどうあるべきか、基から検証しながら考えてみたいと思います。 ※正しくクラス定義がエコ楽にできる様に追加記事書きました。 [JavaScript] getter/setterも使えるエコ楽なクラス定義 - もちろん継承も - private変数も 一番簡単なオブジェクトの作成方法 典型的な JavaScript のオブジェクトを簡単に作成してみて、それらを確認してみましょう。 var obj1 = {x: 12, y: "ab"}; var obj2 = new Object; // または new Object() obj2.x = 34; obj2.y = "cd"; // obj < Object var obj3 = [12, "ab"]; var obj4 = new

    [JavaScript] そんな継承はイヤだ - クラス定義 - オブジェクト作成 - Qiita
  • 1