Saltar al contenido principal
Versión: 20

Class

Cuando una clase usuario es definida en el proyecto, se carga en el entorno del lenguaje 4D. Una clase es un objeto en sí mismo, de la clase "Class", que tiene propiedades y una función.

Resumen​

.name : Text    contiene el nombre del objeto 4D.Class
.new() : 4D.Object
.new( param : any { ;...paramN } ) : 4D.Object
    crea y devuelve un objeto cs.className que es una nueva instancia de la clase sobre la que se llama
.superclass : 4D.Class    devuelve la clase padre de la clase

.name​

Historia
LanzamientoModificaciones
18 R3Añadidos

.name : Text

Descripción​

La propiedad .name contiene el nombre del objeto 4D.Class. .

Esta propiedad es de solo lectura.

.new()​

Historia
LanzamientoModificaciones
18 R3Añadidos

.new() : 4D.Object
.new( param : any { ;...paramN } ) : 4D.Object

ParámetrosTipoDescripción
paramany->Parámetro(s) a pasar a la función constructor
Resultado4D.Object<-Nuevo objeto de la clase

Descripción​

La función .new() crea y devuelve un objeto cs.className que es una nueva instancia de la clase sobre la que se llama. Esta función está disponible automáticamente en todas las clases a partir del class store 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. Dentro de la función constructor, el This está vinculado al nuevo objeto que se está construyendo.

Si se llama a .new() en una clase inexistente, se devuelve un error.

Ejemplos​

Para crear una nueva instancia de la clase Person:

var $person : cs.Person
$person:=cs.Person.new() //crear la nueva instancia
//$person contiene las funciones de la clase

Para crear una nueva instancia de la clase Person con parámetros:

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

.superclass​

Historia
LanzamientoModificaciones
18 R3Añadidos

.superclass : 4D.Class

Descripción​

La propiedad .superclass devuelve la clase padre de la clase. Una superclase puede ser un objeto 4D.Class, o un objeto cs.className. Si la clase no tiene una clase padre, la propiedad devuelve null.

Para definir una superclase para una clase usuario, utilice la palabra clave extends como: Class extends <superclass>.

Esta propiedad es de solo lectura.

Ejemplos​

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

// Si creó una clase MyFile
// with `Class extends File`
$sup:=cs.MyFile.superclass //File

Ver también: Super