Saltar al contenido principal
Versión: v20

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.Class
.new( param : any { ;...paramN } ) : 4D.Class
    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

Histórico
VersiónModificaciones
v18 R3Añadidos

.name : Text

Descripción

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

Esta propiedad es de sólo lectura.

.new()

Histórico
VersiónModificaciones
v18 R3Añadidos

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

ParámetrosTipoDescripción
paramany->Parámetro(s) a pasar a la función constructor
Result4D.Class<-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 del class store cs.

Puede pasar uno o más parámetros opcionales param, que se pasarán a la función constructor de la clase (si la hay) en la definición de la clase className. Dentro de la función constructor, This está ligado 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

Histórico
VersiónModificaciones
v18 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.

Una superclase de clase usuario se declara en una clase utilizando la palabra clave the Class extends <superclass>.

Esta propiedad es de sólo 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