要約 — 高度なクラス定義
今のところ、クラス定義はこれで十分です。アプリケーションのホーム・ページを作成する前に、ここまでの復習をしましょう。Film に以下の変更を行いました。
-
Rating プロパティを追加しました。このプロパティは、あらかじめ定義された、限定された値を認識します。これらの値は VALUELIST データ型パラメータを使用して定義しました。
-
各映画の上映時間を記録する Length プロパティを追加しました。このデータは分単位で長さを表す整数値として保存されますが、1 h 42 m のように時間と分で表示されます。この機能は再使用する必要があるので、Duration という新しいデータ型を作成することでこの機能を実装しました。Duration は標準 %IntegerOpens in a new tab クラスのサブクラスです。%IntegerOpens in a new tab の LogicalToDisplay メソッドをオーバーライドしますが、%IntegerOpens in a new tab の他の振る舞いを継承します。
-
映画のジャンルを記録する Category プロパティを追加しました。ジャンルのリストは変わることがあるので、個別の映画ジャンルを表すインスタンスで構成した FilmCategory クラスを別途作成しました。Film の Category プロパティのタイプは FilmCategory です。