JavaScript プロトタイプ継承コンストラクター継承_javascript スキル
前回は「JavaScript プロトタイプ継承の基本的な仕組み」について説明しましたが、今回はコンストラクターの継承について詳しく説明します。
簡単な例から始めて、人間を記述する People コンストラクターを作成します。
function People(){
this.race = 'Stupid Human';
}
次に、次のような Yellow コンストラクターを作成します。黄色人種 :
function Yellow(name, Skin){
this.name = name;
this.skin = Skin;
1. オブジェクト マスカレード
オブジェクト マスカレードとは、簡単に言うと、抽象クラスを通常の関数として定義するコンストラクタを使用して、疑似継承を実現することです。 >
コードをコピー
this.skin = スキン; yellow1 をインスタンス化します
var yellow1 = new Yellow('Xiao Ming', 'Yellow Skin');
console.log( yellow1.name); //Xiao Ming
console.log( yellow1.race); //愚かな人間
このコードでは、Yellow のプライベート メソッド _extend を追加します。関数自体は参照の形式でのみ存在するため、実行中に People メソッドが自動的に呼び出され、Yellow が実行されます。コンストラクターの name パラメーター。上記のプロセスが完了し、外部メソッドへの参照がクリアされた後で、Yellow オブジェクト独自のプロパティとメソッドを定義する必要があります。
注: 複数の継承はオブジェクトの偽装を通じて実現できます
2. Call/apply メソッド
コードをコピー
コードは次のとおりです:
console.log( yellow2.race); // これが入力です適用引数配列の代わりに、新しい配列またはリテラル配列を使用することもできます。
3. プロトタイプの連鎖
最初のプロトタイプ継承メソッドは、オブジェクトのプロトタイプを親クラスのインスタンスにポイントすることです:
コードをコピーします
コードは次のとおりです。
コードをコピーします
コードは次のとおりです:
コードをコピー
コードは次のとおりです:
var F = function(){};
F.prototype = People.prototype;
Yellow.prototype = new F();
Yellow.prototype.constructor = 黄;

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









関数の継承では、「基底クラス ポインター」と「派生クラス ポインター」を使用して継承メカニズムを理解します。基底クラス ポインターが派生クラス オブジェクトを指す場合、上方変換が実行され、基底クラスのメンバーのみにアクセスされます。派生クラス ポインターが基本クラス オブジェクトを指す場合、下向きキャストが実行される (安全ではない) ため、注意して使用する必要があります。

PHP エラーの解決: 親クラスの継承時に発生する問題 PHP では、継承はオブジェクト指向プログラミングの重要な機能です。継承により、元のコードを変更することなく、既存のコードを再利用し、拡張および改善できます。継承は開発で広く使用されていますが、親クラスから継承するときにエラーの問題が発生することがあります。この記事では、親クラスから継承するときに発生する一般的な問題の解決に焦点を当て、対応するコード例を示します。質問 1: 親クラスが見つかりません。親クラスの継承処理中に、システムが親クラスを見つからない場合、

継承とポリモーフィズムはクラスの結合に影響します。派生クラスは基本クラスに依存するため、継承により結合が増加します。ポリモーフィズムにより、オブジェクトは仮想関数と基本クラス ポインターを通じて一貫した方法でメッセージに応答できるため、結合が軽減されます。ベスト プラクティスには、継承を控えめに使用すること、パブリック インターフェイスを定義すること、基本クラスへのデータ メンバーの追加を回避すること、依存関係の注入を通じてクラスを分離することが含まれます。ポリモーフィズムと依存性注入を使用して銀行口座アプリケーションの結合を軽減する方法を示す実践的な例。

継承エラーのデバッグのヒント: 正しい継承関係を確認します。デバッガーを使用してコードをステップ実行し、変数値を調べます。仮想修飾子を正しく使用してください。隠れた相続によって引き起こされる相続ダイアモンド問題を調べてください。抽象クラスに実装されていない純粋仮想関数がないか確認します。

継承は、あるクラスのプロパティと動作に別のクラスからアクセスできるようにする概念です。メソッドやメンバ変数を継承するクラスをスーパークラスまたは親クラスと呼び、メソッドやメンバ変数を継承するクラスをサブクラスまたはサブクラスと呼びます。 Javaでは、クラスを継承するために「extends」キーワードを使用します。この記事では、相続を利用して定期預金や定期預金の利息を計算する Java プログラムについて説明します。まず、ローカル マシンの IDE でこれら 4 つの Java ファイル Acnt.java を作成します。このファイルには、金利や金額などの口座詳細を保存するために使用される抽象クラス「Acnt」が含まれます。また、計算用のパラメータ「amnt」を持つ抽象メソッド「calcIntrst」も含まれます。

PHP のカプセル化テクノロジとアプリケーションのカプセル化は、オブジェクト指向プログラミングにおける重要な概念であり、外部プログラムに統一されたアクセス インターフェイスを提供するために、データとデータに対する操作を一緒にカプセル化することを指します。 PHP では、アクセス制御修飾子とクラス定義を通じてカプセル化を実現できます。この記事では、PHP のカプセル化テクノロジとそのアプリケーション シナリオを紹介し、いくつかの具体的なコード例を示します。 1. カプセル化されたアクセス制御修飾子 PHP では、カプセル化は主にアクセス制御修飾子によって実現されます。 PHP には 3 つのアクセス制御修飾子が用意されています。

C++の関数継承を詳しく解説:「is-a」と「has-a」の関係をマスターしよう 関数継承とは?関数の継承は、派生クラスで定義されたメソッドを基本クラスで定義されたメソッドに関連付ける C++ の手法です。これにより、派生クラスが基本クラスのメソッドにアクセスしてオーバーライドできるようになり、基本クラスの機能が拡張されます。 「is-a」および「has-a」関係 関数継承では、「is-a」関係は、派生クラスが基本クラスのサブタイプであること、つまり、派生クラスが基本クラスの特性と動作を「継承」することを意味します。基本クラス。 「has-a」関係は、派生クラスに基本クラス オブジェクトへの参照またはポインターが含まれていること、つまり、派生クラスが基本クラス オブジェクトを「所有」していることを意味します。構文関数継承を実装する方法の構文は次のとおりです: classDerivedClass:pu

Javaを使用してプロキシ最終クラスの継承を強制するにはどうすればよいですか? Java では、final キーワードはクラス、メソッド、変数を変更するために使用され、継承、オーバーライド、または変更できないことを示します。ただし、場合によっては、特定のニーズを達成するために、最終クラスの継承を強制する必要がある場合があります。この記事では、プロキシ パターンを使用してそのような機能を実装する方法について説明します。プロキシ パターンは、別のオブジェクト (プロキシ オブジェクト) の動作を制御できる中間オブジェクト (プロキシ オブジェクト) を作成できるようにする構造設計パターンです。
