プログラミング学習日記

プログラミング学習時のメモ帳。

TypeScript classを扱う

間違っている場所あったら優しく教えてね

TypeScriptで初めてClassを扱うのでメモを残しておく.
TyepeScriptのclassはC#JavaのClasstと似ています.

classの定義

class Person {
    name: string;
    constructor(name: string) {
        this.name = name;
    }
}

Personクラスを定義しています. プロパティとしてnameを宣言しています. 宣言する際には型を指定しましょう. コンストラクターで先に定義したnameプロパティを初期化します.
最初にプロパティを宣言した段階か, constructor内でプロパティの値全てを初期化しないとエラーが出ます.
this.name = name;thisはプロティへのアクセスを表しています.

class Person {
    name: string;
    age : number;   // コンパイルエラー
    constructor(name: string) {
        this.name = name;
    }
}

上の例ではageプロパティが宣言時に初期化されていなく,constructor内でも値がセットされていないのでエラーが出ます.

メソッドの作成
class Person {
    name: string;
    age: number;
    constructor(name: string, age: number) {
        this.name = name;
        this.age = age;
    }
    SayHello() {
        console.log(`Hallo! I am ${this.name}.`);
    }
}

プロパティにageを追加しておきました.

    メソッド名 () {
        //  処理内容
     };

でメソッドの定義することができます. ここはjavascriptと損傷ないですね. このメソッド内でもプロパティの値を参照するときは, thisをつける必要があります.

classの利用(インスタンスの作成)

実際に作ったクラスを利用していきたいと思います,

class Person{
    //  上と同じ
}
 // ここで作成している.
let Kirito = new Person ( "Kirito " , 18 );
  // メソッドの呼び出し
Kirito.SayHello(); 
  • 実行結果
Hello ! I am Kirito .

new Person( "Kirito" , 18 )の部分で新しくインスタンスが作成されています. 名前はKiritoで年齢が18です. このインスタンスをKiritoという変数に代入しています.

  • メソッドの呼び出し
インスタンス名.メソッド名(引数 );
Kirito.SayHello();

このようにメソッドを呼び出すことができます. Class内で定義した メソッドを呼び出すことができます.

参考

maesblog

ブログを見ていただきありがとうございました