7月19日(月)[JS/Node]対象


Achievement Goals


クラスとインスタンスという用語は理解できる。


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

newキーワードの使い方が理解できます。


Instanceを作成するときにnewキーワードを使用します.
  • はすぐにコンストラクション関数を実行し、変数にクラス設計に似た新しいオブジェクト、すなわちインスタンスを割り当てます.
  • 各インスタンスには、クラスの固有のプロパティとメソッドがあります.

    classキーワードの使い方が理解できます。

  • クラスで属性とメソッドを定義し、インスタンスで使用します.
  • これはインスタンスオブジェクトを意味し、入力パラメータのパラメータはインスタンス生成時に指定された値である.Thisの割り当ては、作成されたインスタンスに対応するコンストラクタパラメータを付与することを意味する.
  • 現実世界のモデルに基づいて、クラスの方法と属性を設計することができます。


    オブジェクト向けプログラミングの特徴が理解できます。

  • classと呼ばれるデータモデル青写真を用いてコード
  • を記述する
  • 現代言語の多くはオブジェクト向けの特徴(Java、C++、c#)
  • を持っている
  • は、独立した変数および関数ではなく、データアクセスおよびデータ処理プロセスをモデリングする方法である.
    したがって、データおよび機能は、単独で処理するのではなく、一度に処理をパッケージ化することができる.
  • カプセル化

  • データ(属性)と機能(方法)を1つのユニット(1つのオブジェクトに配置)
  • に組み合わせる.
  • 松結合に有利(球形は随時修正可能)
    これは、コードの実行順序に従ってプログラム的にコードを記述することを意味するのではなく、コードが象徴する実際の状況に従ってコードを組み合わせることを意味する.
  • 非表示化実現、露出動作.
    内部データまたは内部実装を露出させない
    詳細インプリメンテーションまたはデータを非表示にし、オブジェクトの外部に必要な動作(メソッド)のみを露出する必要があります.
    (隠匿化フィーチャーを使用してコードを記述する場合、暴露メソッドを使用するコードストリームを変更することなく、オブジェクト内のメソッドの実装のみを変更できます./逆に、プログラムコードはデータの形態変更時にコードストリームに大きな影響を及ぼすため、メンテナンスが困難です.)
  • 非表示化を行わないと、呼び出したくない関数を呼び出すことができるので、外部でアクセスしたり変更したりすることはできません.

    継承


    子クラスは
  • 親クラスの特徴を受け継ぐ
    派生クラスは基本クラス(baseclass)の特徴を継承します.
  • 抽象化


    内部実装は非常に複雑であり,実際に暴露された部分は単純な概念にすぎない.
    抽象化により,インタフェースが簡単になり,多くの機能が露出せず,意外な使用変化を回避した.
    抽象化、差別化
    カプセル化がコードやデータの非表示に焦点を当てると、
    抽象はclassを使う人が必要としない方法などを暴露せず,単純な名前として定義することに重点を置く.
    抽象的な本質:クラス定義のみを定義する方法と属性をインタフェースと呼ぶ.

    たけいせいじゅうごうたい


    重合形態ではpoly multi,morph形態の意味と同様に,種々の形態を指す.
    オブジェクトで同じ方法を使用しても、異なる方法で実現できます.
    たとえば、親クラスにメソッドを作成し、子クラスでアクションを実行します.
    同じ動作の方法ですが、子供一人一人のclassに異なる動作をさせます.
    --ちょっと説明しにくいです.

    JavaScriptではオブジェクト向けプログラミングが可能です。


    Prototypeとは何か理解できる


    モデル青写真を作成するときに使用するプロトタイプオブジェクト(元のフォーム)
  • プロトタイプは、オブジェクト向けの実装に使用することができる.
  • クラスのメソッド情報が含まれます.
  • 厳密には、JavaScriptはオブジェクト向けの言語ではないため、クラスでインスタンスオブジェクトとして実装することはできません.そのため、中間橋梁を実現する役割を果たしています.

    オブジェクト向けプログラミングの継承の概念を理解し,コードを記述することができる.


    継承関係を持つ現実世界のモデルをコードで記述することができる.


    クラス継承の原理が理解できる。


    Prototype chainを理解し解釈することができます。(proto)


    最初のコード
    class Human {
      constructor(name, age) {
        this.name = name;
        this.age = age;
      }
      sleep() {
        console.log(`${this.name}은 잠에 들었습니다`);
      }
    }
    2番目のコード
    let kimcoding = new Human('김코딩', 30);


    抽象化とカプセル化の違いは何ですか?
    カプセル化がコードやデータの非表示に焦点を当てると、
    抽象はclassを使う人が必要としない方法などを暴露せず,単純な名前として定義することに重点を置く.
    インタフェースとは?
    インタフェース:コネクタコネクタ
    JavaScriptをオブジェクト向け言語に関連付ける
    JavaScriptでclassキーを使うのですが、メソッドを隠すことはできますか?
    addEventListenerプロパティはどのクラスのプロトタイプで見つけることができますか?
    EventTarget
    removeメソッドはどのクラスのプロトタイプで見つけることができますか?
    なぜすべてのオブジェクトにtoString()メソッドがあるのですか?
    すべての要素はnodeで、nodeはEventTargetです.