7月19日(月)[JS/Node]対象
Achievement Goals
クラスとインスタンスという用語は理解できる。
class
モデルになるための青写真を作る.
instance
青写真ベースのオブジェクト(instanceオブジェクト)のプログラミングモードを作成する
newキーワードの使い方が理解できます。
Instanceを作成するときにnewキーワードを使用します.
classキーワードの使い方が理解できます。
現実世界のモデルに基づいて、クラスの方法と属性を設計することができます。
オブジェクト向けプログラミングの特徴が理解できます。
したがって、データおよび機能は、単独で処理するのではなく、一度に処理をパッケージ化することができる.
カプセル化
これは、コードの実行順序に従ってプログラム的にコードを記述することを意味するのではなく、コードが象徴する実際の状況に従ってコードを組み合わせることを意味する.
内部データまたは内部実装を露出させない
詳細インプリメンテーションまたはデータを非表示にし、オブジェクトの外部に必要な動作(メソッド)のみを露出する必要があります.
(隠匿化フィーチャーを使用してコードを記述する場合、暴露メソッドを使用するコードストリームを変更することなく、オブジェクト内のメソッドの実装のみを変更できます./逆に、プログラムコードはデータの形態変更時にコードストリームに大きな影響を及ぼすため、メンテナンスが困難です.)
継承
子クラスは
派生クラスは基本クラス(baseclass)の特徴を継承します.
抽象化
内部実装は非常に複雑であり,実際に暴露された部分は単純な概念にすぎない.
抽象化により,インタフェースが簡単になり,多くの機能が露出せず,意外な使用変化を回避した.
抽象化、差別化
カプセル化がコードやデータの非表示に焦点を当てると、
抽象はclassを使う人が必要としない方法などを暴露せず,単純な名前として定義することに重点を置く.
抽象的な本質:クラス定義のみを定義する方法と属性をインタフェースと呼ぶ.
たけいせいじゅうごうたい
重合形態ではpoly multi,morph形態の意味と同様に,種々の形態を指す.
オブジェクトで同じ方法を使用しても、異なる方法で実現できます.
たとえば、親クラスにメソッドを作成し、子クラスでアクションを実行します.
同じ動作の方法ですが、子供一人一人のclassに異なる動作をさせます.
--ちょっと説明しにくいです.
JavaScriptではオブジェクト向けプログラミングが可能です。
Prototypeとは何か理解できる
モデル青写真を作成するときに使用するプロトタイプオブジェクト(元のフォーム)
オブジェクト向けプログラミングの継承の概念を理解し,コードを記述することができる.
継承関係を持つ現実世界のモデルをコードで記述することができる.
クラス継承の原理が理解できる。
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です.
Reference
この問題について(7月19日(月)[JS/Node]対象), 我々は、より多くの情報をここで見つけました https://velog.io/@southbig89/7월-19일월-JSNode객체-지향テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol