Class
プロジェクトにおいてユーザークラスが 定義 されていれば、それは 4Dランゲージ環境に読み込まれます。 クラスとは、それ自身が "Class" クラスのオブジェクトであり、プロパティと関数を持ちます。クラスとは、それ自身が "Class" クラスのオブジェクトであり、プロパティと関数を持ちます。
概要
.name : Text 4D.Class オブジェクトの名称を格納します |
| .new() : 4D.Object .new( param : any { ;...paramN } ) : 4D.Object 対象クラスの新規インスタンスである cs.className オブジェクトを作成して返します |
| .superclass : 4D.Class 対象クラスの親クラスを返します |
.name
履歴
| リリース | 内容 |
|---|---|
| 18 R3 | 追加 |
.name : Text
説明
.name プロパティは、4D.Class オブジェクトの名称を格納します。クラス名の大文字・小文字は区別されます。
このプロパティは 読み取り専用 です。
.new()
履歴
| リリース | 内容 |
|---|---|
| 18 R3 | 追加 |
.new() : 4D.Object
.new( param : any { ;...paramN } ) : 4D.Object
| 引数 | 型 | 説明 | |
|---|---|---|---|
| param | any | -> | コンストラクター関数に渡す引数 |
| 戻り値 | 4D.Object | <- | クラスの新規オブジェクト |
説明
.new() 関数は、対象クラスの新規インスタンスである cs.className オブジェクトを作成して返します。この関数は、cs クラスストア に属する全クラスで自動的に利用可能です。
You can pass one or more optional param parameters, which will be passed to the class constructor function (if any) in the className class definition. コンストラクター関数においては、This は新規に作成されるオブジェクトを指します。
存在しないクラスを対象に .new() を呼び出した場合、エラーが返されます。
例題
Person クラスの新規インスタンスを作成するには、次のように書きます:
var $person : cs.Person
$person:=cs.Person.new() // 新規インスタンスの作成
//$person はクラス関数を格納しています
パラメーターを使って、Personクラスの新規インスタンスを作成するには、次のように書きます:
// クラス: Person.4dm
Class constructor($firstname : Text; $lastname : Text; $age : Integer)
This.firstName:=$firstname
This.lastName:=$lastname
This.age:=$age
// メソッド内の使用例
var $person : cs.Person
$person:=cs.Person.new("John";"Doe";40)
// $person.firstName = "John"
// $person.lastName = "Doe"
// $person.age = 40
.superclass
履歴
| リリース | 内容 |
|---|---|
| 18 R3 | 追加 |
.superclass : 4D.Class
説明
.superclass プロパティは、対象クラスの親クラスを返します。スーパークラスは、4D.Class オブジェクト、あるいは cs.className オブジェクトのいずれかです。親クラスが存在しない場合は、このプロパティは null を返します。
ユーザークラスのスーパークラスを定義するためには、extends キーワードを次のように使用してください: Class extends <superclass>
このプロパティは 読み取り専用 です。
例題
$sup:=4D.File.superclass // Document
$sup:=4D.Document.superclass // Object
$sup:=4D.Object.superclass // null
// `Class extends File` を使って
// MyFile クラスを作成した場合
$sup:=cs.MyFile.superclass // File
参照: Super