この記事は 2022 年 11 月 09 日に投稿しました。
目次
リンク
1. はじめに
こんにちは、iOS のエディタアプリPWEditorの開発者の二俣です。
今回は業務で使用しているTypeScriptで抽象クラスを使用する方法についてです。
2.TypeScriptで抽象クラスを使用する
TypeScriptで抽象クラスを使用するには、クラスにabstractを付加して定義します。
実装例
// 抽象クラスを定義します。 abstract class Vehicle { // コンストラクタ constructor(private name: string) { // 何もしない。 } showName(): void { console.log(this.name); } // 抽象メソッド abstract showNumberOfWheel(): void; }; // 抽象クラスを継承したクラスを定義します。 class Car extends Vehicle { // コンストラクタ constructor(name: string) { // 親クラスのコンストラクタを呼び出します。 super(name); } // 抽象メソッドを実装します。 showNumberOfWheel(): void { console.log(4); } } // 抽象クラスを継承したクラスを定義します。 class Bike extends Vehicle { // 抽象クラスを継承したクラスを定義します。 constructor(name: string) { // 親クラスのコンストラクタを呼び出します。 super(name); } // 抽象メソッドを実装します。 showNumberOfWheel(): void { console.log(2); } } // 継承したクラスを生成します。 const car = new Car("Stepwgn"); // 親クラスのメソッドを呼び出します。 car.showName(); // 抽象メソッドを呼び出します。 car.showNumberOfWheel(); // 継承したクラスを生成します。 const bike = new Bike("Rebel"); // 親クラスのメソッドを呼び出します。 car.showName(); // 抽象メソッドを呼び出します。 car.showNumberOfWheel();
実行結果
"Stepwgn" 4 "Stepwgn" 2
リファレンス
3. おわりに
TypeScriptの抽象クラスですが、ほかの言語同様の機能で使用できます。
リンク
紹介している一部の記事のコードはGitlabで公開しています。
興味のある方は覗いてみてください。
私が勤務しているニューラルでは、主に組み込み系ソフトの開発を行っております。
弊社製品のハイブリッド OS Bi-OSは高い技術力を評価されており、特に制御系や通信系を得意としています。
私自身はiOS モバイルアプリやウィンドウズアプリを得意としております。
ソフトウェア開発に関して相談などございましたら、お気軽にご連絡ください。
また一緒に働きたい技術者の方も随時募集中です。
興味がありましたらご連絡ください。
EMAIL : info-nr@newral.co.jp / m-futamata@newral.co.jp
TEL : 042-523-3663
FAX : 042-540-1688