実際、私が最初にJSの学習を始めたとき、私は相続の実装を見ました。当時、私は本から見たコードセグメントを理解しようとしました。私は今日それを再考し、これが思考探査の進化の結果であると感じました。
継承とは再利用を意味します。
相続の固有のアイデアを脇に置き、bにAのメンバーを再利用させると、それを行う最も単純で最も失礼な方法、b = a;
次に、問題は次のとおりです。Bの変更はA(同じオブジェクト)の変更です。
OK、次にコピーします。浅いコピーが十分に安全でない場合は、ディープコピーを使用してください。
問題:コードは再利用されますが、メモリは無駄になります(変数やメソッドに関係なく、JSのオブジェクトです)。
コピー、読み取り、書き込みをしない場合は、JSプロトタイプb .__ proto__ = aを使用できます。一般的に、私たちは__proto__を直接変更することはありませんが、それはあまりにも暴力的です。 JSは、より「穏やかな」目標を達成できる方法を提供します - Object.create(b)。
この方法は実行可能ですが、これは特定のオブジェクトの再利用モードです。 「ConstructOrbを使用して作成されたオブジェクトがConstructORAのオブジェクトのプロトタイプを再利用できる」を達成した場合はどうなりますか?
答えは次のとおりです。bをconstructorb.prototypeとして扱い、constructora.prototypeとして扱います。
質問:
解決:
ConstructOrBを宣言すると、システムはConstructOrb.prototype.constructor = constructOrbを自動的に尋ねます。上記のコードでは、コンストラクターが捨てられ、コンストラクターが追加されます。
上記は最も基本的な継承です。この記事の範囲内ではなく、サブクラスがコンストラクターと親クラスのメンバーをより一般的に(this._superなど)と呼ぶ方法、継承モードをより一般的に実装する方法(a =継承(b))など。
上記は、編集者がもたらすJavaScriptクラスの昔ながらの継承の完全な内容です。誰もがwulin.comをもっとサポートすることを願っています〜