Classe
Quando uma classe de usuário for definida no projeto, é carregada no ambiente da linguagem 4D. Uma classe é um objeto em si mesmo, da classe "Class", que tem propriedades e uma função.
Resumo
.name : Text
|
.new( param : any { ;...paramN } ) : 4D. Class
|
.superclass : 4D. Class
|
.name
Histórico
Versão | Mudanças |
---|---|
v18 R3 | Adicionado |
.name : Text
Descrição
A propriedade .name
propertycontém o nome do objeto 4D. Class
. Nomes de classe diferenciam minúsculas de maiúsculas.
Essa propriedade éapenas leitura.
.new()
Histórico
Versão | Mudanças |
---|---|
v18 R3 | Adicionado |
.new( param : any { ;...paramN } ) : 4D. Class
Parâmetros | Tipo | Descrição | |
---|---|---|---|
param | any | -> | Parâmetros a passar à função constructor |
Resultado | 4D. Class | <- | Novo objeto da classe |
Descrição
A função .new()
cria e retorna um objeto cs.className
que é uma nova instância da classe da qual é chamada. Essa função está disponível automaticamente para todas as classes da classe store cs
.
Pode passar um ou mais parâmetros opcionais param, que serão passados para a função class constructor (se houver) na definição de classe className. Dentro da função constructor, This
é conectado ao novo objeto sendo construído.
Se .new()
for chamado em uma classe não existente, um erro é retornado.
Exemplos
Para criar uma nova instância da classe Person:
var $person : cs.Person
$person:=cs.Person.new() //cria a nova instância
//$person contém funções da classe
Para criar uma nova instância da classe Person com parâmetros:
//Class: Person.4dm
Class constructor($firstname : Text; $lastname : Text; $age : Integer)
This.firstName:=$firstname
This.lastName:=$lastname
This.age:=$age
//Em um 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
Versão | Mudanças |
---|---|
v18 R3 | Adicionado |
.superclass : 4D. Class
Descrição
A propriedade .superclass
retorna a classe pai da classe. Uma superclasse pode ser um 4D. Class
objeto ou um objeto cs.className
. Se a classe não tiver uma classe pai, a propriedade retorna null.
Uma superclasse de uma classe de usuário é declarada em uma classe usando a palavra chave Class extends <superclass>
.
Essa propriedade é de apenas leitura.
Exemplos
$sup:=4D.File.superclass //Documento
$sup:=4D.Document.superclass //Objeto
$sup:=4D.Object.superclass //null
// Se criou uma classe MyFile
// com `Class extends File`
$sup:=cs.MyFile.superclass //arquivo
Ver também: Super