Clases
Generalidades
El lenguaje 4D soporta el concepto de clases. En un lenguaje de programación, el uso de una clase permite definir el comportamiento de un objeto con propiedades y funciones asociadas.
Cada objeto es una instancia de su clase. Una vez definida una clase usuario, puede instanciar los objetos de esta clase en cualquier parte de su código. Una clase puede extenderse a otra clase con la palabra clave extender
, y entonces hereda sus funciones.
El modelo de clases en 4D es similar al de las clases en JavaScript, y se basa en una cadena de prototipos.
Por ejemplo, puede crear una clase Person
con la siguiente definición:
//Class: Person.4dm
Class constructor($firstname : Text; $lastname : Text)
This.firstName:=$firstname
This.lastName:=$lastname
Function sayHello()->$welcome : Text
$welcome:="Hello "+This.firstName+" "+This.lastName
En un método, creando una "Persona":
var $person : cs.Person //object of Person class
var $hello : Text
$person:=cs.Person.new("John";"Doe")
// $person:{firstName: "John"; lastName: "Doe" }
$hello:=$person.sayHello() //"Hello John Doe"