Aller au contenu principal
Version: v20 R4 BETA

Class

Lorsqu'une classe utilisateur est définie dans le projet, elle est chargée dans l'environnement de langage 4D. Une classe est un objet lui-même, de la classe "Class", qui a des propriétés et une fonction.

Sommaire

.name : Text    contient le nom de l'objet 4D.Class
.new( { ...param : any } ) : 4D.Class    crée et retourne un objet cs.className qui est une nouvelle instance de la classe sur laquelle il est appelé
.superclass : 4D.Class    retourne la classe parente de la classe

.name

Historique
VersionModifications
v18 R3Ajout

.name : Text

Description

La propriété .name contient le nom de l'objet 4D.Class. Les noms de classe sont sensibles à la casse.

Cette propriété est en lecture seule.

.new()

Historique
VersionModifications
v18 R3Ajout

.new( { ...param : any } ) : 4D.Class

ParamètresTypeDescription
paramany->Paramètre(s) à passer à la fonction constructeur
Résultat4D.Class<-Nouvel objet de la classe

|

Description

La fonction .new() crée et retourne un objet cs.className qui est une nouvelle instance de la classe sur laquelle il est appelé. Cette fonction est automatiquement disponible sur toutes les classes à partir du class store cs.

Vous pouvez passer un ou plusieurs paramètre(s) optionnel(s) param, qui seront passés à la fonction class constructor (le cas échéant) dans la définition de la classe className. A l'intérieur de la fonction constructor, This est lié au nouvel objet en cours de construction.

Si .new() si appelé sur une classe qui n'existe pas, une erreur est retournée.

Exemples

Pour créer une nouvelle instance de la classe Person :

var $person : cs.Person  
$person:=cs.Person.new() //créer la nouvelle instance
//$person contient les fonctions de la classe

Pour créer une nouvelle instance de la classe Person avec des paramètres :

//Class: Person.4dm
Class constructor($firstname : Text; $lastname : Text; $age : Integer)
This.firstName:=$firstname
This.lastName:=$lastname
This.age:=$age
//Dans une méthode
var $person : cs.Person
$person:=cs.Person.new("John";"Doe";40)
//$person.firstName = "John"
//$person.lastName = "Doe"
//$person.age = 40

.superclass

Historique
VersionModifications
v18 R3Ajout

.superclass : 4D.Class

Description

La propriété .superclass retourne la classe parente de la classe. Une superclasse peut être un objet 4D.Class, ou un objet cs.className. Si la classe n'a pas de classe parente, la propriété renvoie null.

Une superclasse de classe utilisateur est déclarée dans une classe à l'aide du mot-clé Class extend<superclass>.

Cette propriété est en lecture seule.

Exemples

$sup:=4D.File.superclass //Document
$sup:=4D.Document.superclass //Object
$sup:=4D.Object.superclass //null

// Si vous avez créé une classe MyFile
// avec `Class extends File`
$sup:=cs.MyFile.superclass //File

Voir également : Super