TIL(2021.02.26)
<プログラミング分類>
1.プロセス向けプログラミング
2.オブジェクト向けプログラミング
ソース:https://intellipaat.com/blog/tutorial/python-tutorial/python-classes-and-objects/
2-1オブジェクト向けプログラミングの特徴
*パッケージ
名前の通りカプセル化すればいいのですが、上記の図のcarを例に挙げます.このカプセル化された自動車では、カプセルごとに異なるcar機能と特性があります.オブジェクト向けプログラミングにおけるパッケージも同様の意味である.パッケージによって関連する機能と特性を1つの場所に集中して分類し、このパッケージはコードの再利用をよりスムーズにし、コードもそれほど複雑ではない.オブジェクト向けプログラミングでは,機能と特性の集合を分類して「クラス」という「カプセル」に入れるのがカプセル化である.1つのターゲットを組み合わせて、オブジェクトが果たす役割を実行します.
*抽象
不要な情報を隠し(隠匿化)、重要な情報のみを表現し、共通の属性や機能を組み合わせて名前を付ける.car(自動車)という対象を例にとると、内部にはエンジンから運転までに必要な多くの要素、すなわち自動車が現れる.しかし、私たちはこの多くの内部の存在を考えずに車を運転します.これが抽象画です.
*継承
これは親の属性と機能(特徴)をもたらす概念である.派生クラス(派生クラス)は、(ベースクラス)のフィーチャーを継承する場合に適した表現です.)上の写真を見てください.親クラス(car)のプロパティと機能を継承し、機能の一部を変更する必要がある場合は、継承されたサブクラスでのみ機能を変更して使用できることを覚えておいてください.
*多形性(集約)
1つのクラスや方法は様々な方法で動作することができ、「歩く」(method)という動作は辞書で「足で移動する」という意味です.しかし、異なる動物が「歩く時」にそれぞれの歩調を持つように、対象も同じ方法であっても、異なる方法で実現することができる.多形性にはオーバーロードがあります(親を継承する子クラスは親のメソッドではなく、子クラスで使用を再定義します).オーバーロードとオーバーロード(同じメソッド名で異なる入力を処理できます).
2-2オブジェクト向けプログラミングの利点
2-3オブジェクト向けプログラミングの欠点
3.Prototype
3-1 Prototypeとは?
Prototypeは歴史的に「原型」です.実際、JavaScriptのPrototypeも「プロトタイプ」の一般的な意味を超えていません.さらに説明するとjavascriptではPrototypeはそのオブジェクトを作成する「プロトタイプ」を表します.
3-2ならJavaScriptでPrototypeを使うのはなぜですか?
*一例を挙げる
function Car() {
this.wheels = 4;
}
let bmw = new Car();
let volkswagen = new Car();
console.log(bmw.wheels); // => 4
console.log(volkswagen.wheels); // => 4
function Car() {}
// prototype 사용
Car.prototype.wheels = 4;
let bmw = new Car();
let volkswagen = new Car():
console.log(bmw.wheels); // => 4
...
Car.prototypeという名前の空のオブジェクトはある場所に存在し、Car関数によって生成されたオブジェクト(bmw,volkswagen)はある場所に存在するオブジェクトのすべての値を取得することができる.すなわち,ある場所の空白に車輪を置き,bmwと大衆が共有して使用する.これにより、必要に応じて共有するwheelsを使えばよいので、メモリを消費することも少なくなります.
参考資料
Javascriptベース-オブジェクトプロトタイプについて
[Javascript]プロトタイプについて
JavaScriptミドルクラス#14継承、プロトタイプ
Reference
この問題について(TIL(2021.02.26)), 我々は、より多くの情報をここで見つけました https://velog.io/@hangoook/TIL2021.02.26テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol