Nesse vídeo demonstraremos em como criar uma classe (orientação a objetos) junto com seus métodos e atributos.
Abaixo o código fonte desenvolvido para o exemplo em vídeo acima:
//Bibliotecas #Include "TOTVS.ch" /*/{Protheus.doc} User Function zExe082 Exemplo de como criar e utilizar uma classe @type Function @author Atilio @since 09/12/2022 @see https://tdn.totvs.com/pages/viewpage.action?pageId=6063065 @obs **** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao **** /*/ User Function zExe082() Local aArea := FWGetArea() Local oPessoa Local cNome := "José" Local dNascimento := sToD("19850712") //Instanciando o objeto através da classe Pessoa oPessoa := zPessoaTst():New(cNome, dNascimento) //Chamando um método da classe oPessoa:MostraIdade() FWRestArea(aArea) Return /* ==================================================== Abaixo é a declaração da classe, seus métodos e atributos ==================================================== */ /*/{Protheus.doc} zPessoaTst Criação da classe Pessoa @author Atilio @since 13/12/2015 @version 1.0 @example oObjeto := zPessoaTst():New() /*/ Class zPessoaTst //Atributos Data cNome Data nIdade Data dNascimento //Métodos Method New() CONSTRUCTOR Method MostraIdade() EndClass /*/{Protheus.doc} New Método que cria a instância com a classe zPessoaTst @author Atilio @since 13/12/2015 @version 1.0 @param cNome, Caracter, Nome da Pessoa @param dNascimento, Data, Data de Nascimento da Pessoa @example oObjeto := zPessoaTst():New("João", sToD("19800712")) /*/ Method New(cNome, dNascimento) Class zPessoaTst //Atribuindo valores nos atributos do objeto instanciado ::cNome := cNome ::dNascimento := dNascimento ::nIdade := fCalcIdade(dNascimento) Return Self /*/{Protheus.doc} MostraIdade Método que mostra a idade da pessoa @author Atilio @since 13/12/2015 @version 1.0 @example oObjeto:MostraIdade() /*/ Method MostraIdade() Class zPessoaTst Local cMsg := "" //Criando e mostrando a mensagem cMsg := "A <b>pessoa</b> "+::cNome+" tem "+cValToChar(::nIdade)+" anos!" MsgInfo(cMsg, "Atenção") Return /*-------------------------------------------------* | Função: fCalcIdade | | Autor: Daniel Atilio | | Data: 13/12/2015 | | Descr.: Função que calcula a idade da Pessoa | *-------------------------------------------------*/ Static Function fCalcIdade(dNascimento) Local nIdade //Chamando a função YearSub para subtrair os anos de uma data nIdade := DateDiffYear(Date(), dNascimento) Return nIdade
Bom pessoal, por hoje é só.
Abraços e até a próxima.
Excelente conteúdo, Atílio!
Sempre tive dificuldade para compreender a criação de classes e objetos, e neste vídeo a didática ficou tão boa que consegui entender e começar a criar as minhas classes personalizadas.
Agradeço de coração!
Fala Luis, tudo joia?
Opa, nós que agradecemos pelo comentário e pela generosidade nas suas palavras.
Um grande abraço.