クラスプロパティの宣言

4Dランゲージは常に改良を続けています。v20 では、クラスの使い勝手を良くする新機能として、”宣言されたクラスプロパティ” をお届けします。クラスプロパティを宣言することで、オートコンプリートを大幅に改善し、コンパイル時に分かりやすいエラーを出すこともできます。その方法を詳しく説明しましょう!

クラスプロパティを宣言するのは簡単で、変数の宣言と同様の構文を使いますが、キーワードに property を使います:

property myProperty : text
プロパティは、クラス関数の前に宣言します。宣言すると、これらのプロパティはオートコンプリートの助けとなります:

また、これによりクラスプロパティに強い型付けがおこなわれるため、間違った値を代入すると、コンパイラーがエラーを返すようになります:

blank

4D は、コンパイル時にのみ代入をチェックすることに注意してください。そのため、明らかに間違った代入に対しては、コンパイルエラーが表示されます。しかし、バリアントのように正しいかもしれない値を代入している場合、実際には実行時に互換性のない型をバリアントがとったとしても、コンパイルエラーにはなりません。ランタイムにおいては、クラスプロパティの宣言の有無による振る舞いの違いはありません。

上ではわかりやすくするために、クラス内でプロパティを使う例を示しましたが、宣言されたクラスプロパティは、メソッドや他のクラスで使ってもオートコンプリートの恩恵を受けることができます。宣言されたクラスプロパティを持つコンポーネントを使用する場合は、そのコンポーネントのコンパイル時にコード補完用のシンタックスファイルを生成していれば、オートコンプリートやコンパイルチェックの恩恵を受けることができます。また、VS Code Extension を使用する場合にも、オートコンプリートの恩恵を受けることができます。

この機能によって、単純なミスを避け、コーディングを簡素化できるはずです。もし、これについてフィードバックがあれば、遠慮なく 4Dフォーラムにお寄せください。

Nicolas Brachfogel
- プロダクトオーナー & シニアデベロッパー - Nicolas Brachfogelは、2017年にシニアデベロッパーとして4Dに入社しました(4D Serverとネットワークを担当)。Apple Siliconのリリースを管理するプロダクトオーナーとして、ユーザーストーリーを書いて機能仕様に落とし込み、機能実装が顧客のニーズを満たしているかを確認する役割を担っています。Institut Supérieur d'Informatique Appliquée (INSIA) を卒業した Nicolas は、2001年にソフトウェア開発者としてのキャリアをスタートさせました。JavaとC++で数年間コーディングした後、ゲーム会社のクライアント・サーバー開発を専門に担当。サーバー開発者/アーキテクトとして、多くのゲーム(Dofus Arena、Drakerz、Trivial Pursuit Go!)のサーバーアーキテクチャに携わり、成功を収めてきました。