プログラミング学習日記

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

TypeScript Classの継承

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

前回Classを作成したのでその発展としてクラスの継承をしましょう.

class Person {
    name : string;
    age : number;
    constructor( name : string , age : number ){
        this.name = name;
        this.age = age;
    }
    SayHello( ) {
        console.log(`Hello! I am ${ this.name } .`);
    }
}

はじめにこのようなクラスを定義します. その後, このクラスを継承するクラスを作っていきたいと思います.

class Person {
    //  上と同じ
}
class Student extends Person {
    grade : number ; // 学年
    constructor( name : string , age : number , grade : number){
        super( name , age );
        this.grade = grade;
    }
}

クラスを継承するときは,extendsを使います.extendsを使った継承では, コンストラクタでsuper()メソッドを呼び出す必要があります. このsuperは継承前のクラスのコンストラクタを表しています.

constructor ( name : string , age : number , grade : number ){
    constructor( name , age );  // Personクラスのコンストラクタ
    this.grade = grade;
}

このように親クラスに対してそのままの値を渡しているイメージです.

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