このプロジェクトは、TypeScriptを使用したオブジェクト指向プログラミングの基本概念を学習するために作成されました。抽象クラス、インターフェース、継承などの概念を実践的に理解することを目的としています。
このプロジェクトには以下の実装が含まれています:
-
抽象クラスとインターフェース
Person抽象クラスHumanインターフェース- 具象クラス(
Teacher,Engineer)
-
オブジェクト指向の概念
- カプセル化(private、protected修飾子の使用)
- 継承(抽象クラスの拡張)
- ポリモーフィズム(インターフェースの実装)
udemy_learn/
├── doc/ # ドキュメント
│ ├── class.md # クラス階層の詳細説明
│ └── interface.md # インターフェースの詳細説明
├── src/
│ ├── lib/ # ソースコード
│ │ ├── class.ts # クラス実装
│ │ └── interface.ts# インターフェース実装
│ └── tests/ # テストコード
│ ├── class.test.ts
│ └── interface.test.ts
└── ...設定ファイル
-
環境準備
# パッケージのインストール npm install -
テストの実行
# すべてのテストを実行 npm test
-
TypeScriptのコンパイル
# コードのコンパイル npm run build
abstract class Person {
static readonly species = "Homo sapiens";
readonly name: string;
protected age: number;
abstract get job(): string;
abstract set job(value: string);
// ...
}interface Human {
name: string;
age: number;
greeting(message: string): void;
}プロジェクトには包括的なテストスイートが含まれています:
- クラスの基本機能テスト
- インターフェース実装テスト
- エラーケースのテスト
- 継承機能のテスト
# 特定のテストファイルの実行
npm test class
npm test interface詳細なドキュメントは doc フォルダにあります:
- TypeScript 5.x
- Jest(テストフレームワーク)
- Node.js
-
TypeScriptの型システム
- 静的型付け
- 型安全性
- インターフェースと型定義
-
オブジェクト指向プログラミング
- 抽象化
- カプセル化
- 継承
- ポリモーフィズム
-
テスト駆動開発
- Jestを使用したユニットテスト
- テストカバレッジ
このプロジェクトはMITライセンスの下で公開されています。