オブジェクト向けプログラミング


  • オブジェクト向けプログラミング(OOP)
  • について
  • JavaScriptからオブジェクトを作成する方法
  • JavaScriptでPrototypeとは何ですか.なぜ使いますか.
  • オブジェクト向けプログラミング(OOP)

  • コンピュータプログラミングはアルゴリズムの集合である.
  • オブジェクト向け

  • OOPは特定の言語やライブラリではなく、プログラミング哲学(モデル)です.
  • コンピュータプログラムを命令リストと見なす観点から、複数の独立した単位、すなわち「オブジェクト」の集合と見なす.
  • オブジェクトは、状態と動作(関数)を含み、これらのオブジェクト間のインタラクションによってアルゴリズムを構築する方法である.
  • コードは再利用可能であり、「継承」拡張によって使用可能である.
  • クラス内のメソッドまたは変数を変更するだけでメンテナンスできます.
  • クラス単位でモジュール化できます.
  • プログラミング猫なら...

  • 猫の属性:毛色(黒、白)/耳(短、長)/体型(太く、スリム)/性格(活発、慎重)

  • 猫の行為:eat,sleep,cry,修飾,play,run,hide...
  • const Cat = function(name) {
      this.name = name;
    }
    Cat.prototype.sleep = function() {};
    
    const Yatong = new Cat('Yatong');

    OOP Basic Concepts


    パッヶージ


    機能とプロパティのセットをクラスというカプセルに分類し、コードを再定義せずに回収します.
    let color = 'white';
    let char = 'active'
    let age = 3;
    
    function getCatInfo(color, char, age) {
      return `${color} cat is ${char} and ${age} years old.`;
    ⬇️
    let myCat = {
      color: 'white',
      char: 'active',
      age: 3,
      getInfo: function() {
        return `${this.color} cat is ${this.char} and ${this.age} years old.`;
      }
    };
    myCat.getInfo();

    継承


    親クラスのプロパティと機能は受け入れられます.必要に応じて、子クラスでこの機能のみを変更(定義)することで使用できるプロパティです.

    Extends

    extendsクラスの音明式または式で新しいサブクラスを作成するときに使用されるキーワード
    class Father {
      weight: 70,
      height: 175,
      age: 35,
      gender: 'male'
    }
    
    class Son extends Father {
      weight: 30,
      height: 135,
      age: 11,
      gender: 'male'
    }

    抽象


    内部構造は非常に複雑ですが、設計は非常に使いやすいです.
    パスポート(1人分の個人情報が含まれていますが、生年月日、国、性別などの旅行に必要な最低限の身分情報のデータのみが含まれています)

    たけいせい


    1つの変数(関数)は、状況に応じて異なる意味で解釈することができる.
    オーバーロードとオーバーロードが可能です.