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; }
このように親クラスに対してそのままの値を渡しているイメージです.