CACHÉによるオブジェクト指向開発(1/2)
Cachéに装備された言語、Caché ObjectScriptによるオブジェクト指向の考え方を使ったプログラムの例を見ていきましょう。オブジェクト指向開発では、クラスがプログラムの単位となります。まずはCachéスタジオを使ってクラスを作成します。
CACHÉスタジオによるクラスの定義
例として、「人」を表すPerson
クラスを定義しますが、クラスを定義する際には、そのクラスが持つ属性を定義する必要があります。Cachéではこの属性のことをプロパティと呼んでいます。この例では、「人」が持つプロパティとして、次のようなものを考えてみました。
項目 | プロパティ名 |
氏名 | Name |
住所 | Address |
性別 | Gender |
誕生日 | DOB |
Cachéスタジオでクラスを定義するには、[ファイル]-[新規作成]を選択します。すると、下図のような[新規作成]ダイアログが表示されるので、その[一般]タブより[Cachéクラス定義]を選び[OK]ボタンをクリックします。
[新規クラスウィザード]が表示されるので、まず、パッケージ名とクラス名を入力します。パッケージとは、クラスを分類する単位です。Javaのようにパッケージを階層的にすることも可能です。ここでは、仮にパッケージ名をFSとし、クラス名をPersonとしました(この場合、このクラスの完全指定は、FS.Personのように、パッケージとクラスを「.(ドット)」でつなげて指定します)。
次に進むと、クラスのタイプを指定する画面に移ります。
Cachéにはいくつかのタイプのクラスが定義できますが、ここではPersistentを選択します。これは、クラスをデータベースに保存できるもので、これにより、このクラスのインスタンスをデータベースに保存するコードが自動的に生成されます(このウィザードでは他の項目を設定できますが、ここでは省略します)。[完了]をクリックしてクラス定義を終了しましょう。すると、コードウインドウにクラス定義のテキストが表示されます。
CACHÉスタジオによるプロパティの定義
続いてプロパティの定義です。Cachéスタジオのメニューで、[クラス]-[追加]-[新規プロパティ]を選択し、[新規プロパティウィザード]を表示させます。
プロパティ名を前述したNameとし、[次へ]ボタンをクリックすると、プロパティタイプの指定画面になります。Nameは単一値タイプの%String
としてください(その他のコレクションタイプなどは後述します)。この例では、ここで[完了]ボタンをクリックしてウィザードを終了します。
上述したコードウインドウのクラス定義に、今定義したName
プロパティが追加されました。
その他のプロパティも同じように[新規プロパティウィザード]で追加できるのですが、上記のコードウインドウで直接書き込むこともできます。冒頭で定義したプロパティすべてを追加すると、コードウインドウには次のように表示されます。
誕生日(DOB)のプロパティタイプが、日付を表す%Date
であることに注意してください。また、Genderは、M(男性)もしくはF(女性)のように、あらかじめ決められた値を持つプロパティであると考えられます。このような場合には、値の選択肢をあらかじめ定義しておきましょう。これを行うためには、CachéスタジオのインスペクタにあるコンボボックスでPropertyを選択し、表示されたGenderをダブルクリックして属性の詳細を表示させます。そして、Parameterの+をクリックして展開し、VALUELIST
パラメータに「,M,F」と入力します(値の最初がデリミタであることに注意してください。「M,F」とすると、Mがデリミタとみなされてしまいます)。
プロパティ定義がすべて終了したら、クラスをコンパイルします(Cachéスタジオのメニュー[ビルド]-[コンパイル])。コンパイルに成功すると、CachéはこのFS.Person
クラスのインスタンスをデータベースに格納するコードを自動生成します。