OOP!!!!!
3795 ワード
エネルギーを使う
-oopの基本特性
*カプセル化:(非表示)
*抽象
継承
-親要素(ベース)に継承された要素のフィーチャー(属性とメソッド)を表します.なぜ継承が必要なのかというと、重複する機能のほかに、追加の機能しか追加されていないので、後でコードのメンテナンスとメンテナンスが簡単になります.コードの再利用率を向上させる.
多形性
関数を含むすべてのオブジェクトに内部slotがあります.
関数オブジェクトとは、その親オブジェクトとしてのプロトタイプオブジェクトであり、関数オブジェクトは機能オブジェクトです.原型を指す.
関数オブジェクトのみを持つプログラム.
関数オブジェクトとは、作成者として使用するときに作成されるオブジェクトの親(クラスオブジェクト)です.
let insects = {
eats: true
};
let ant = {
fast: true
};
ant.__proto__ = insects; // (*)
// 프로퍼티 eats과 fast를 ant에서도 사용
alert( ant.eats ); // true (**) // from insects
alert( ant.jumps ); // true
(*)とマークされた行で、昆虫をantのプロトタイプに設定します.
「antの原型は昆虫」あるいは「antは昆虫を継承する」.そう言ってもいいです.
プロトタイプが設定されているため、antでは昆虫で表現される有用なプロトタイプや方法も使用できます.
このタイプから継承されたProperty=>「Propertyを継承(属性を継承)」
コンストラクション関数の役割:オブジェクトを作成しているクラスからオブジェクトを作成します.(クラス内でオブジェクトを作成および初期化する特別な方法)
classにはconstructorという特殊な方法しかありません.
コンストラクション関数メソッドは、superキーワードを使用してsuperclassのコンストラクション関数メソッドを呼び出すことができます.
コンストラクション関数メソッドが指定されていない場合は、デフォルトのコンストラクション関数メソッドが使用されます.
let insects = {
eats: true
};
// 프로토타입이 insects인 새로운 객체를 생성합니다.
let ant = Object.create(insects);
alert(ant.eats); // true
alert(Object.getPrototypeOf(ant) === insects); // true
Object.setPrototypeOf(ant, {}); // ant의 프로토타입을 {}으로 바꿉니다.
コード再利用の観点から,クラス継承は非常に有用である.再定義するクラスが既存のクラスと非常に似ている場合は、異なる点を実装するだけで継承して使用できます.コード再利用は開発コストを著しく削減する潜在力があるため、非常に重要である.
extendsキーワード
オーバーライド(Override)
これは、子クラスによって再定義され、親クラスが持つメソッドを使用する方法です.
かふか
パラメータのタイプや数が異なり、同じ名前のメソッドを実装し、パラメータに基づいてメソッドを呼び出す方法を区別します.JavaScriptではオーバーロードはサポートされていませんが、argumentsオブジェクトを使用して実装できます.
オブジェクトのPropertyまたはメソッドにアクセスしようとしたときにPropertyまたはMethodがない場合、Prototypeチェーンは[Prototype]の内部スロットが指すリンクに基づいて、親ロールとして機能するPrototypeオブジェクトのPropertyまたはMethodを順に検索します.また、検索に成功すると、そのプログラムやメソッドが使用されます.
スーパーキー
const Grub = require('./Grub');
class Bee extends Grub{//Grub이 부모 클라스에서 상속한다고 정의
constructor() {
super (); // 부모의 생성자를 호출
this.age = 5;
this.color = 'yellow';
this.job = 'Keep on growing';
}
eat () {
super.eat(); //부모 클래스(Base Class)에 대한 참조
}
}
module.exports = Bee;
Reference
この問題について(OOP!!!!!), 我々は、より多くの情報をここで見つけました https://velog.io/@onniseonmi/OOPテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol