JavaScript_js でのオブジェクト指向の概要 オブジェクト指向
オブジェクト
作成
オブジェクト
コンストラクター
パブリック、プライベート、特権、静的メンバー
これを呼び出し、適用します
例外処理
継承
プロトタイプ
オブジェクト
JavaScript ではすべてがオブジェクトであると言えますが、オブジェクトとは何ですか?オブジェクトは変数と関数の集合です。他のオブジェクト指向言語では、オブジェクトはクラスからインスタンス化されます。JavaScript は、既存のオブジェクトのコピーから派生するプロトタイプベースのオブジェクト指向言語です。 JavaScript のオブジェクトは、関数とオブジェクトの 2 つのカテゴリに分類できます。
オブジェクトの作成
効率を向上させるために、JavaScript には Object、Function、Array などの組み込みオブジェクトが付属しています。すべての組み込みオブジェクトは、新しいものを通して創造されます。関数オブジェクトは、インスタンスとコンストラクターの 2 つのカテゴリに分類されます。たとえば、alert('my name is X') は Function のインスタンスであり、コンストラクターとして Function は new を通じてインスタンス化される必要があります。作成されたオブジェクトの構文は次のタイプに分かれています。
var obj= new Object();var obj={};(配列など)
var myFunction=new Function(){//code};function myFunction(){//code}
関数宣言の最初のタイプは使用前に行う必要がありますが、2 番目のタイプは使用後に行うことができることに注意してください。
コンストラクター
関数はコンストラクターの開始点です。コンストラクターの作成は、
function myFunction(a){
/*Code*/
}
静的メンバー
次のコード:
//名前属性を追加
myObj.name='LD';
//alertName メソッドを追加します>myObj .alertName=function(){
alert(this.name);
}
//alertName
myObj.alertName()
を実行します。 alertName は、コンストラクター内ではなく、myObj インスタンス内にのみ存在します。これは理解するのは簡単ですが、次のように、コンストラクターとインスタンスの両方になることができる Function については、それほど簡単ではありません:
myConstructor.name='LD'; //静的メソッドを追加します
myConstructor.alertName=function(){
alert(this.nam);
}
myConstructor.alertName(); 🎜>コード myConstructor はインスタンスにできるため、これは正常に機能しますが、name とalertName は myConstructor の新しいインスタンスには適用されません。
パブリック メンバー
コードをコピー
コードは次のとおりです:
myConstructor によってインスタンス化されたオブジェクトは myName を使用できますが、myConstructor インスタンス自体ではなく myConstructor の基になる定義にパブリック メンバーを追加したため、myConstructor 自体は使用できません。 。
プライベート メンバー
プライベート メンバーは、コンストラクターで定義された変数とメソッドを指します。これらは、他の言語のクラスのプライベート定義に似ています。たとえば、
コードをコピーします
コードは次のとおりです:
alertName();
特権メンバー
特権メソッドは、パブリックにアクセスできるメソッドを指し、これで定義されたメソッドは常にコンストラクター スコープで使用されます。
function myConstructor (){
//プライベート属性
var sex='male';
// 特権メソッド
this.alertSex=function(){
alert(sex); 🎜>}
}
オブジェクト リテラル
以前に使用した作成では、たとえば、myConstructor.name=x; のようにドットを使用しました。 myConstructor .sex=x。同じ目的を達成するためにオブジェクト リテラルを使用することもできます。例:
}
//パブリック メンバーを追加
myConstructor.prototype={
name:'LD',
性別:'male',
method :function(){}
}
this, call and apply
this は実行環境に依存するキーワードであり、作成場所とは関係ありません。this キーワードは、それを含む関数を使用するオブジェクトを指します。他の言語でも、これを理解するのは難しくありません。
呼び出してメソッドを強制的にオブジェクトにアタッチします。例:
alertName.call('object')
//alertName にはパラメータが必要です
alertName.call('object','parameter1','parameter2')
//alertName がパラメータ配列を使用する場合
alertName.appplay('object','parameter array argument')
例外処理
は C# に似ており、次のように try と catch で構成されます。
}
try {
myFunction();
}
catch{
alert('例外メッセージ:'例外.名前例外.メッセージ)
}
継承とプロトタイプ他にもあるので、次のブログ「JavaScript の継承とプロトタイプ」に載せます。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック











Go 言語を使用してオブジェクト指向イベント駆動プログラミングを実装する方法 はじめに: オブジェクト指向プログラミング パラダイムはソフトウェア開発で広く使用されており、イベント駆動プログラミングは、トリガーと処理を通じてプログラム フローを実現する一般的なプログラミング モデルです。イベント、コントロール。この記事では、Go 言語を使用してオブジェクト指向のイベント駆動型プログラミングを実装する方法とコード例を紹介します。 1. イベント駆動型プログラミングの概念 イベント駆動型プログラミングは、プログラムのフロー制御をイベントのトリガーと処理に移す、イベントとメッセージに基づくプログラミング モデルです。イベント駆動型で

@JsonIdentityInfo アノテーションは、Jackson ライブラリ内でオブジェクトに親子関係がある場合に使用されます。 @JsonIdentityInfo アノテーションは、シリアル化および逆シリアル化中にオブジェクトの ID を示すために使用されます。 ObjectIdGenerators.PropertyGenerator は、使用されるオブジェクト識別子が POJO プロパティから取得される状況を表すために使用される抽象プレースホルダー クラスです。構文@Target(value={ANNOTATION_TYPE,TYPE,FIELD,METHOD,PARAMETER})@Retention(value=RUNTIME)public

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

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

PHP オブジェクト指向プログラミングにおけるフライウェイト パターンの分析 オブジェクト指向プログラミングでは、デザイン パターンは一般的に使用されるソフトウェア設計手法であり、コードの可読性、保守性、スケーラビリティを向上させることができます。フライウェイト パターンは、オブジェクトを共有することでメモリのオーバーヘッドを削減する設計パターンの 1 つです。この記事では、PHP でフライウェイト モードを使用してプログラムのパフォーマンスを向上させる方法を説明します。フライ級モードとは何ですか?フライウェイト パターンは、異なるオブジェクト間で同じオブジェクトを共有することを目的とした構造設計パターンです。

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

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

オブジェクトのステータスの追跡、ブレークポイントの設定、例外の追跡を習得し、xdebug 拡張機能を利用することで、PHP オブジェクト指向プログラミング コードを効果的にデバッグできます。 1. オブジェクトのステータスを追跡する: var_dump() と print_r() を使用して、オブジェクトの属性とメソッドの値を表示します。 2. ブレークポイントの設定: 開発環境にブレークポイントを設定すると、実行がブレークポイントに到達するとデバッガが一時停止するため、オブジェクトのステータスを簡単に確認できます。 3. 例外のトレース: try-catch ブロックと getTraceAsString() を使用して、例外発生時のスタック トレースとメッセージを取得します。 4. デバッガーを使用します。xdebug_var_dump() 関数は、コードの実行中に変数の内容を検査できます。
