Class
Quando uma classe de usuário é defined no projeto, ela é carregada no ambiente de linguagem 4D. Uma classe é um objeto em si mesmo, da classe "Class", que tem propriedades e uma função.
Resumo
| .isSessionSingleton : Boolean retorna true se a classe do usuário tiver sido definida como uma classe singleton de session |
| .isShared : Boolean retorna true se a classe do usuário tiver sido definida como shared class |
| .isSingleton : Boolean retorna true se a classe do usuário tiver sido definida como uma singleton class |
| .me : 4D.Object retorna a instância singleton da classe singleton cs.className |
| .name : Text contém o nome do objeto 4D.Class |
| .new( { ...param : any } ) : 4D.Object cria e retorna um objeto cs.className que é uma nova instância da classe na qual ela é chamada |
| .superclass : 4D.Class retorna a classe pai da classe |
.isSessionSingleton
História
| Release | Mudanças |
|---|---|
| 20 R7 | Adicionado |
.isSessionSingleton : Boolean
Descrição
A propriedade .isSessionSingleton retorna true se a classe do usuário tiver sido definida como uma classe singleton de session, e false caso contrário.
Essa propriedade é somente leitura.
.isShared
História
| Release | Mudanças |
|---|---|
| 20 R5 | Adicionado |
.isShared : Boolean
Descrição
A propriedade .isShared retorna true se a classe do usuário tiver sido definida como shared class, e false caso contrário.
Essa propriedade é somente leitura.
.isSingleton
História
| Release | Mudanças |
|---|---|
| 20 R5 | Adicionado |
.isSingleton : Boolean
Descrição
A propriedade .isSingleton retorna true se a classe do usuário tiver sido definida como uma singleton class, e false caso contrário.
Essa propriedade é somente leitura.
.me
História
| Release | Mudanças |
|---|---|
| 20 R5 | Adicionado |
.me : 4D.Object
Descrição
A propriedade .me retorna a instância singleton da classe singleton cs.className. Se a classe singleton nunca tiver sido instanciada anteriormente, essa propriedade chamará o construtor da classe sem parâmetros e criará a instância. Caso contrário, ele retorna a instância singleton existente.
Se cs.className não for uma classe singleton, .me será indefinido por padrão.
Essa propriedade é somente leitura.
.name
História
| Release | Mudanças |
|---|---|
| 18 R3 | Adicionado |
.name : Text
Descrição
A propriedade .name contém o nome do objeto 4D.Class. Nomes de classe diferenciam minúsculas de maiúsculas.
Essa propriedade é somente leitura.
.new()
História
| Release | Mudanças |
|---|---|
| 18 R3 | Adicionado |
.new( { ...param : any } ) : 4D.Object
| Parâmetro | Tipo | Descrição | |
|---|---|---|---|
| param | any | -> | Parâmetros a passar à função constructor |
| Resultados | 4D.Object | <- | Novo objeto da classe |
Descrição
A função .new() cria e retorna um objeto cs.className que é uma nova instância da classe na qual ela é chamada. Essa função está automaticamente disponível em todas as classes do armazenamento de classes cs.
Você pode passar um ou mais parâmetros param opcionais, que serão passados para a função class constructor (se houver) na definição da classe className. Na função do construtor, o This é vinculado ao novo objeto que está sendo construído.
- Se
.new()for chamado em uma singleton class que já tenha sido instanciada, a instância singleton será retornada, e não uma nova instância. - Se
.new()for chamado em uma classe inexistente, será retornado um erro.
Exemplos
Para criar uma nova instância da classe Person com parâmetros:
var $person : cs. Person
$person:=cs. Person.new() //create the new instance
//$person contains functions of the class
Para criar uma nova instância da classe Person:
//Class: Person.4dm
Class constructor($firstname : Text; $lastname : Text; $age : Integer)
This.firstName:=$firstname
This.lastName:=$lastname
This.age:=$age
//In a method
var $person : cs. Person
$person:=cs. Person.new("John";"Doe";40)
//$person.firstName = "John"
//$person.lastName = "Doe"
//$person.age = 40
.superclass
História
| Release | Mudanças |
|---|---|
| 18 R3 | Adicionado |
.superclass : 4D.Class
Descrição
A propriedade .superclass retorna a classe pai da classe. Uma superclasse pode ser um objeto 4D.Class ou um objeto cs.className. Se a classe não tiver uma classe pai, a propriedade retorna null**.
To define a superclass for a user class, use the extends keyword like: Class extends <superclass>.
Essa propriedade é somente leitura.
Exemplos
$sup:=4D.File.superclass //Document
$sup:=4D.Document.superclass //Object
$sup:=4D.Object.superclass //null
// Se você criou uma classe MyFile
// com `Class extends File`
$ sup:=cs.MyFile.superclass //File
Veja também: Super