JavaScript クラスの定義とインスタンス化
クラス定義
厳密に言えば、JavaScript はオブジェクトベースのプログラミング言語であり、オブジェクト指向プログラミング言語ではありません。
オブジェクト指向プログラミング言語 (Java、C++、C#、PHP など) では、class キーワードを使用してクラスを宣言します。
例: public class Person{}
しかし、JavaScript にはクラスを宣言するためのキーワードがなく、クラスのアクセス権を制御する方法もありません。
JavaScript は関数を使用してクラスを定義します。
構文:
function className(){
// 特定の操作
}
たとえば、Person クラスを定義します:
function Person() {
this.name=" 张三 "; // 定义一个属性 name
this.sex=" 男 "; // 定义一个属性 sex
this.say=function(){ // 定义一个方法 say()
document.write("嗨!大家好,我的名字是 " + this.name + " ,性别是 " + this.sex + "。");
}
} 説明: このキーワードは現在のオブジェクトを参照します。
オブジェクトの作成(クラスのインスタンス化)
オブジェクトを作成するプロセスは、クラスのインスタンス化のプロセスでもあります。
JavaScript では、オブジェクトの作成 (つまり、クラスのインスタンス化) に new キーワードを使用します。
構文:
new className();
上記の Person クラスをインスタンス化します:
var zhangsan=new Person(); zhangsan.say();
コードを実行し、次の内容を出力します:
こんにちは!皆さんこんにちは、私の名前は張三、性別は男性です。
クラスを定義するときにパラメータを設定でき、オブジェクトを作成するときに対応するパラメータを渡すこともできます。
次に、Person クラスを再定義します。
function Person(name,sex) {
this.name=name; // 定义一个属性 name
this.sex=sex; // 定义一个属性 sex
this.say=function(){ // 定义一个方法 say()
document.write("嗨!大家好,我的名字是 " + this.name + " ,性别是 " + this.sex);
}
}
var zhangsan=new Person("小丽","女");
zhangsan.say(); コードを実行すると、次の出力が出力されます。
こんにちは!皆さんこんにちは。私の名前はシャオリ、性別は女性です。
- おすすめコース
- コースウェアのダウンロード
現時点ではコースウェアはダウンロードできません。現在スタッフが整理中です。今後もこのコースにもっと注目してください〜 















