JavaScript TIL 14
7906 ワード
2021年7月19日に書かれた書類2号.
JavaScriptの勉強内容を整理しました.
初期プログラミング言語(C、ポートバーなど) プログラム言語は、シーケンスコマンドの組合せである. 「クラス」と呼ばれるデータモデル青写真を用いてコード を記述する.現代プログラミング言語(JAVA、C++、C#など) JavaScript:オブジェクト向けに作成可能 プログラム設計哲学 すべてのコンテンツを「オブジェクト」にグループ化 が作成されると、オブジェクト内のすべてのコンテンツは、メモリが戻るまで のままになります.
4の主要な概念によって再利用性が得られる. 類はプロトタイプである.(オブジェクトの青写真を作成) 詳細(属性)を含まない青写真 の詳細のみが含む場合、オブジェクト となる.
インスタンスはクラスインスタンスです. クラス作成オブジェクト クラスには、オブジェクトを作成するためのジェネレータが含まれています.
次の画像の例を参照してください.
のデータと機能を組み合わせて データ(属性)と機能(方法)を1つのオブジェクトに組み合わせる .
隠蔽:隠蔽実施、露出動作 内部データまたは内部実装が露出しないことを保証 詳細な実施またはデータを非表示にし、対象外の必須動作のみを露出する(方法) .
の分散結合に有利:いつでも変更可能 ばらばら結合:コードが表す実際の状況と類似するようにコードを集合する
パッケージはコードを複雑にせず、再利用性を向上させます.
内部実装は非常に複雑で、実際に露出した部分は簡単になります. 多くの機能が露出していないため、意外な変化を避けることができます. 抽象VSカプセル化 パッケージ:非表示コードまたはデータにフォーカス 抽象:ユーザーに不要なメソッドを暴露させるのではなく、クラスを単純な名前に定義することに重点を置いています. クラスを定義する場合、メソッドと属性のみを定義してインタフェースと呼ぶ. は抽象化され,インタフェースは簡単になる.
不要なコードを減らすことで再利用性が向上します.
子クラスは親クラスのフィーチャーを継承します. 基本クラス(ベースクラス)の特徴は派生クラス(派生クラス)によって継承される
コードを複雑にせず、シンプルな使用で変更の影響を最小限に抑える
オブジェクトも同様の方法であり、異なる方法で実現することができる.
同じメソッドに対してif/else ifなどのオブジェクトプロパティとは異なる条件文を作成できます.
下の写真で一目見ました.
配列も同じ原理です. 配列が プロトタイプには様々な方法が存在する.
JavaScriptでオブジェクト向けプログラミングのプロパティの「継承」を実装する場合は、プロトコルタイプチェーンを使用します.クラスStudioは、Humanの基本的な方法を継承することができる. 親クラス(ここではHuman):属性とメソッドを継承するクラス サブクラス(ここではStudent):属性とメソッドを継承するクラス また、このプロセスを継承と呼ぶ. JavaScriptでは、 Written with StackEdit .
JavaScriptの勉強内容を整理しました.
オブジェクト向けプログラミング
プログラム言語
オブジェクト向け言語
OOP
クラスとインスタンス
次の画像の例を参照してください.
OOP
パッヶージ
抽象
不要なコードを減らすことで再利用性が向上します.
継承
子クラスは
コードを複雑にせず、シンプルな使用で変更の影響を最小限に抑える
ポリステート
同じメソッドに対してif/else ifなどのオブジェクトプロパティとは異なる条件文を作成できます.
クラスとプロトタイプ
Action Items
OOPモードでのHumanの例
class Human {
constructor(name, age) {
this.name = name;
this.age = age;
}
sleep() {
console.log(`${this.name}은 잠에 들었습니다`);
}
}
let kimcoding = new Human('김코딩', 30);
// 실습해보세요
Human.prototype.constructor === Human; // 결과 => true
Human.prototype === kimcoding.__proto__; // 결과 => true
Human.prototype.sleep === kimcoding.sleep; // 결과 => true
必ず下図を覚えておいてください.Humanクラス、インスタンス、プロトタイプの関係
Array
クラスであると考える例Arrayクラスとインスタンスとプロトタイプの関係
プロトタイプチェーン
JavaScriptでオブジェクト向けプログラミングのプロパティの「継承」を実装する場合は、プロトコルタイプチェーンを使用します.
let kimcoding = new Human('김코딩', 30);
// 속성
kimcoding.age;
kimcoding.gender;
// 메소드
kimcoding.eat();
kimcoding.sleep();
// 학생(Student)과 사람(Human)이라는 클래스가 각각 존재한다고 가정
// 클래스 Human의 메소드와 속성을 객체로 구현
// 클래스 Student의 속성과 메소드 예시
let parkhacker = new Student('박해커', 22);
// 속성
parkhacker.grade;
// 메소드
parkhacker.learn();
extends
およびsuper
キーワードを使用して継承を実現できます.Reference
この問題について(JavaScript TIL 14), 我々は、より多くの情報をここで見つけました https://velog.io/@heewonkim-dev/JavaScript-TIL-14テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol