TLPP - LANGUAGE
Abrangência
Versão 17.3.0.0 e superiores
A partir da versão 17.3.0.0 o recurso de modificador de acesso está disponível no TLPP.
É necessário utilizar este include atualizado: msobject.ch.
O nível do modificador padrão é PRIVATE.
Os níveis de modificadores são:
NÍVEIS | |
---|---|
PRIVATE | O método ou a propriedade estarão acessíveis apenas de dentro da classe. |
PROTECTED | O método ou a propriedade estarão acessíveis apenas de dentro da classe e das classes herdadas dela. |
PUBLIC | O método ou a propriedade estarão acessíveis de qualquer lugar. |
Exemplo
class EscopeMethod private data oComp1 public data oComp2 protected data oComp3 data oComp4 public method new() private method teste1() public method teste2() protected method teste3() endclass method new() class EscopeMethod return self method teste1() class EscopeMethod conout("teste1") return self method teste2() class EscopeMethod self:oComp1 := 1 self:oComp2 := 2 self:oComp3 := 3 self:teste1() conout("teste2") self:teste3() return self method teste3() class EscopeMethod conout("teste3") return self user function escope local myObj := EscopeMethod():New() myObj:oComp2 := 2 conout("myObj:oComp2", myObj:oComp2) /*myObj:oComp1 := 1 conout("myObj:oComp1", myObj:oComp1)*/ //não é possível descomentar esse trecho de código pois o atributo oComp1 é private e causará um erro de execução. /*myObj:oComp3 := 3 conout("myObj:oComp3", myObj:oComp3)*/ //não é possível descomentar esse trecho de código pois o atributo oComp3 é protected e causará um erro de execução. //myObj:teste1() - não é possível descomentar esse trecho de código pois o método teste1 é private e causará um erro de execução. myObj:teste2() //myObj:teste3() - não é possível descomentar esse trecho de código pois o método teste3 é protected e causará um erro de execução. return
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas