Javascript オブジェクト指向の継承_js オブジェクト指向
JavaScript で継承を実装するにはさまざまな方法があります。ここでは、一般的な方法を 2 つ紹介します。
1. 継承を呼び出し、最初にコードを確認します。
まず「person」クラスを定義します
//Human
person=function(){
this.name="Grass Mud Horse"; 🎜>this.eat=function (){
alert("食べたい");
}
this.sleep=function(){
alert("寝たい") ;
}
}
Student=function(){
person.call(this);// Person クラスを継承
this.do宿題=function(){
alert("先生が来ました、宿題をコピーさせてください")
}
}
高級言語と同様に、親クラスと同じ名前のメンバがサブクラスに出現すると上書きされてしまいます、いわゆる「書き換え」です。
同様に、女の子クラスを定義します。
Girl=function(){
パーソン.call(this);//継承 パーソン クラス
this.sex="女性";
JavaScript多重継承を実現するには、以下のマスター クラスを見てください。このマスターは当然学生ですが、同時にかわいい女の子でもあるため、次のコードがあります:
//マスター クラス
Master=function() {
Student.call(this);//Student クラスを継承します
Girl.call(this);//Girl クラスを継承します
this.degree="Master"; //Education
}
テストできます:
master.do宿題(); ;
alert("私の名前は:" master.name);
alert("私の性別は:" master.sex); 複数使用する場合は順序に注意してください継承。2 つのクラスに同じ名前のメンバーがある場合、後者は前のクラスを上書きします。つまり、現在のクラスは後者のクラスのメンバーのみを継承します。
呼び出しメソッドの継承については以上です。呼び出しメソッドがわからない場合は、Google に聞いてください。あまりネット上に転載しないでください。別の継承方法について話しましょう。
2 番目、プロトタイプのプロトタイプ継承:
モニター クラスを定義しましょう:
コードをコピーします
}
上記はマスター クラスを定義しています。これで、このマスターは分隊長に昇格したため、このマスターは分隊長を継承します。今回は、プロトタイプを実装するには、次のコードを参照してください:
Master.prototype=new SquadLeader();//プロトタイプ プロパティはオブジェクトを指します
//または
// Master.prototype=SquadLeader.prototype;
テストしてみましょう:
var master=new Master();
master.hi()//出力「こんにちは、クラスメートの皆さん、私はモニターになりました」
私は個人的に使用することを好みます。最初の解決策 (呼び出し継承) は継承を実装します。これは、記述スタイルが 2 番目の解決策よりも C# に近いことが一目でわかります。私は通常、prototype プロパティを使用して既存のクラスを拡張します。
JavaScript は非常に柔軟な言語です。継承を実装するためのより良い方法が他にもあるかもしれません。私は、ゴージャスな翡翠につながることを願って、ここにレンガを投げているだけです。

ホット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)

ホットトピック











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

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

Go 言語は、型定義とメソッドの関連付けを通じてオブジェクト指向プログラミングをサポートします。従来の継承はサポートされていませんが、合成を通じて実装されます。インターフェイスは型間の一貫性を提供し、抽象メソッドを定義できるようにします。実際の事例では、顧客操作の作成、取得、更新、削除など、OOP を使用して顧客情報を管理する方法を示します。

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

PHP における OOP のベスト プラクティスには、命名規則、インターフェイスと抽象クラス、継承とポリモーフィズム、依存関係の注入が含まれます。実際のケースには、ウェアハウス モードを使用してデータを管理する場合や、ストラテジー モードを使用して並べ替えを実装する場合などがあります。

Golang (Go 言語) には伝統的な意味でのクラスの概念はありませんが、構造体と呼ばれるデータ型が提供され、これによってクラスと同様のオブジェクト指向機能を実現できます。この記事では、構造体を使用してオブジェクト指向機能を実装する方法を説明し、具体的なコード例を示します。構造体の定義と使用法 まず、構造体の定義と使用法を見てみましょう。 Golang では、type キーワードを通じて構造を定義し、必要に応じて使用できます。構造には属性を含めることができます

Go 言語は、オブジェクト指向プログラミング、構造体によるオブジェクトの定義、ポインター レシーバーを使用したメソッドの定義、インターフェイスによるポリモーフィズムの実装をサポートしています。オブジェクト指向の機能は、Go 言語でのコードの再利用、保守性、カプセル化を提供しますが、クラスや継承、メソッド シグネチャ キャストといった従来の概念が欠如しているなどの制限もあります。

C++ 関数の継承は、次の状況では使用しないでください。 派生クラスが異なる実装を必要とする場合、異なる実装を持つ新しい関数を作成する必要があります。派生クラスが関数を必要としない場合は、空のクラスとして宣言するか、プライベートの未実装の基本クラス メンバー関数を使用して関数の継承を無効にする必要があります。関数が継承を必要としない場合は、コードの再利用を実現するために他のメカニズム (テンプレートなど) を使用する必要があります。
