⊗tsSpOpAMt 18 of 37 menu

TypeScriptにおけるOOPの抽象メソッド

継承クラスに共通のメソッドが必要であるが、その実装は特定の継承クラスに依存する場合があります。 この場合、そのメソッドを抽象クラスで宣言し、実装を書かずに済ませることができます。 そうすれば、継承クラスはこれらのメソッドを実装する義務が生じます。 このようなメソッドは抽象メソッドと呼ばれ、キーワードabstractを用いて宣言されます。

例として、抽象クラスUserを取り上げましょう。 このクラスの継承クラスは、オブジェクトのデータを出力するメソッドshowを持つことが必須であるとします。

ただし、このメソッドの実装は継承クラスに依存します。 クラスUserでこのメソッドを抽象メソッドとして宣言してみましょう。

abstract class User { public name: string; constructor(name: string) { this.name = name; } public abstract show(): string; }

継承クラスStudentでこのメソッドを実装します。

class Student extends User { public course: number; constructor(name: string, course: number) { super(name); this.course = course; } show() { return this.name + ' ' + this.course; } }

継承クラスEmployeeでこのメソッドを実装します。

class Employee extends User { public salary: number; constructor(name: string, salary: number) { super(name); this.salary = salary; } show() { return this.name + ' ' + this.salary; } }

抽象クラスFigureで、面積と周囲長を取得するための抽象メソッドを作成してください。

継承クラスSquareおよびRectangleで、これらのメソッドの実装を記述してください。

日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否