5章クラスとインターフェース
あなたがオブジェクト指向言語の経験者であれば、クラスは毎日の生活に欠かせないものでしょう。クラスは、コードを体系化して、それについて考えるための方法であり、カプセル化の主要な単位となります。TypeScriptのクラスはC#から多くのものを借用しており、アクセス修飾子、プロパティ初期化子、ポリモーフィズム、デコレーター、インターフェースといったものをサポートしています。しかしそれだけでなく、TypeScriptのクラスは通常のJavaScriptのクラスにコンパイルされるため、ミックスインのようなJavaScriptの使い方も、型安全な方法で表現できるのです。
プロパティ初期化子や継承のようなTypeScriptクラスの機能の一部は、JavaScriptのクラスでもサポートされているので†1、ランタイムコードとして生成されます。アクセス修飾子、インターフェース、ジェネリックのようなその他の機能は、コンパイル時のみに存在するTypeScriptのみの機能であり、アプリケーションをJavaScriptにコンパイルするときには、何のコードも生成されません。
[†1] あるいは、まもなくサポートされる予定です。
この章では、TypeScriptでクラスを扱う方法についてのさまざまな例を通じて、TypeScriptのオブジェクト指向の機能についてだけでなく、それらをなぜ、どのように使用するかについて深く理解できるよう解説します。コードエディターに実際に入力しながら、話についてきてください。
5.1 クラスと継承
ここでは、チェスのエンジンを作成します。このエンジンはチェスのゲームをモデル化し、2人のプレーヤーが交互に駒を動かすためのAPIを提供します。
型の概略を記述することから始めます。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access