SEB[JSオブジェクト向け]



Section 1がHAを通過すると,Section 2の開始からJSのオブジェクト向け学習が開始される.オブジェクト向けといえば、クラスを思い浮かべます.javaを習ったことがあるので、javaとあまり差がありません.似たようなところがたくさんありますが、馴染みのないところもあります.今、学んだことを整理して、私の気持ちを解放します.
オブジェクト向けプログラミング(Object-Oriented Programming,OOP)は、プロセス向けプログラミングとは異なり、データと機能を組み合わせて処理されます.属性とメソッドは、クラスと呼ばれるオブジェクトの概念に含まれます.

クラスを使用したモジュール化


クラスとインスタンス


  • OOP:モデルの青写真(class)と青写真ベースのオブジェクト(instance)を作成するプログラミングモード.

  • クラスは表紙写真のように関数として定義できますが、ES 6ではclassキーワードで定義されています.
  • constructorはジェネレータであり、インスタンスの作成時に実行されるコードである.コンストラクション関数はreturn値を作成しません.

  • クラスはnewキーワードを使用してインスタンスを生成します.
    let pizza = new Meal('pizza');
  • 属性とメソッド


  • クラスで属性とメソッドを定義し、インスタンスで使用します.Javaのように理解されると、属性はフィールドであり、メソッドはjavaのメソッドになります.
  • thisキーワードは、インスタンスオブジェクトを表す.自分の実例を指す.

  • 表紙写真に示すように、ES 5はprototypeキーワードを使用して方法を定義する必要がありますが、ES 6はそうする必要はありません.
  • プロトタイプ


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


  • オブジェクト向け言語

  • 授業資料には対象言語が表現されている.
    人間の「世界を見て世界を理解する方法」を模倣する方法論.

  • クラスと呼ばれるデータモデルの青写真を使用してコードを記述します.データと機能が結合され、処理されます.

  • 現代の言語の多くは対象に向かう特徴を持っている.ex)javaC++C#
  • javascriptはオブジェクト向けの言語ではないが、オブジェクト向けのモードで記述することができる.
  • オブジェクト向けプログラミングの4つの重要な概念

  • パッケージ(パッケージ):コードの複雑さを低減し、再利用性を向上させる.
  • データと機能を組み合わせた
  • 非表示情報:非表示実装、露出動作.これは、内部データまたは内部実装が外部に露出することを防止するためである.カプセル化の焦点はここにある.
  • 松結合に有利である.これは、インプリメンテーションをいつでも変更できることを意味します.
  • 抽象:コードを複雑にせず、簡略化された使用によって変化への影響を最小限に抑える.
  • の概念は,内部実装は複雑であるが,実際に露出している部分は簡単である.
  • 抽象化により,インタフェースは簡単になる.これは主にクラスを使用する人が不要な方法などを暴露せずに簡単な名前として定義することに集中する.
  • インタフェース:クラスを定義する場合、メソッドと属性のみを定義します.これが抽象化の本質である.
  • 継承:不要なコードを減らすことで再利用性を向上させる.
  • 親(基本クラス)のフィーチャーは、子(派生クラス)によって継承(継承)されます.
  • 集約(多形性):同じ方法では、条件文ではなくオブジェクトの特性に基づいて記述できます.
  • の多様な形態があり、同様の方法も異なる方法で実現できることを意味する.
  • プロトタイプチェーン


  • プロトコルタイプチェーンは、MDNを参照によって理解される.

  • JSで継承を実現する場合は、プロトコルタイプチェーンを使用します.

  • 継承は、extendsおよびsuperによって達成され得る.
    class Person {
    	constructor() {
    		this.name = 'jogi';
    		this.age = 3;	
    	}
    }
    class Student extends Person {
    	constructor() {
    		super();   // name은 'jogi'가 되며, age는 3이 된다.
            	this.grade = 'A';
        	}
    }
  • 実習と体得


    実験は公平なプログラミングによって行われ,主にクラスを継承することによって問題を解決した.Javaを使っている間にsuperをうまく使っていなかったのですぐに解決したのかわかりませんが、継承を正しく使うためにかなり工夫したようです.また、JSはjavaとは異なり、constructorというキーワードを使用してコンストラクタを作成しています.また作り方にも違いがあります.しかし、フレームワークはそれほど悪くないので、うまく解決できます.また,親から受け継いだ属性やメソッドを使用するには,extends継承を用い,クラス内でsuperキーワードを用いてアクセスすることが分かる.継承を使用するには、superを使用する必要があります.この概念は難しくないが,オブジェクト向けプログラミングの利点を十分に発揮できるプログラミングを行うべきであると考える.今回のセレクションもがんばりましょう!!

    Reference

  • 科徳・史泰茨講座資料