Avalados por :

Explicação sobre o Construtor e o construtor de classe em ABAP: métodos especiais no SAP.

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 13 Vistas
0
Cargando...

Olá a todos

Alguém pode me explicar a funcionalidade sobre o Construtor e o construtor de classe??

Além dos métodos normais, que são chamados usando CALL METHOD, existem dois métodos especiais chamados CONSTRUCTOR e CLASS_CONSTRUCTOR, que são chamados automaticamente quando um objeto é criado (CONSTRUCTOR) ou quando se acessa pela primeira vez os componentes de uma classe (CLASS_CONSTRUCTOR) 

Li o documento mencionado anteriormente sobre os Documentos da SAP, mas achei um pouco difícil de entender, alguém pode me ajudar com isso, por favor??

Obrigado e cumprimentos,

Arun Joseph

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Olá!

Obrigado, Joseph.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá!

Construtor de instância = O construtor é um método de instância especial em uma classe e sempre é chamado CONSTRUTOR.

O construtor é chamado automaticamente em tempo de execução com a instrução CREATE OBJECT.

Alguns pontos importantes sobre o construtor:

  • Cada classe pode ter apenas um construtor.

  • O construtor deve ser definido na SEÇÃO PÚBLICA.

  • A assinatura do construtor só pode ter parâmetros de importação e exceções.

  • Quando ocorrem exceções no construtor, as instâncias não são criadas e a memória principal não é utilizada.

Construtor estático = Este é um método estático especial em uma classe e sempre é chamado CLASS_CONSTRUCTOR. É executado uma vez por programa. Este construtor é chamado automaticamente antes da classe ser acessada pela primeira vez, mas antes que qualquer uma das seguintes ações sejam executadas pela primeira vez:

  • Criar uma instância desta classe (CREATE OBJECT)

  • Acessar um atributo estático desta classe.

  • Chamar um método estático desta classe.

  • Registrar um método controlador de eventos para um evento nesta classe.

Alguns pontos importantes:

  • Cada classe possui apenas um construtor estático.

  • Este construtor deve ser definido na SEÇÃO PÚBLICA.

  • A assinatura do construtor não pode ter parâmetros de importação ou exceções.

  • O construtor estático não pode ser chamado explicitamente.

Saudações

Abhijeet Kulshreshtha

Editado por: Abhijeet Kulshreshtha em 9 de julho de 2008 às 6:16 AM

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Esta mensagem foi moderada.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá,

Construtor

Implicitamente, cada classe possui um método construtor de instância com o nome reservado constructor e um método construtor estático com o nome reservado class_constructor.

O construtor de instância é executado cada vez que você cria um objeto (instância) com a declaração CREATE OBJECT, enquanto o construtor de classe é executado exatamente uma vez antes de acessar uma classe pela primeira vez.

Os construtores estão sempre presentes. No entanto, para implementar um construtor, você deve declará-lo explicitamente com as declarações METHODS ou CLASS-METHODS. Um construtor de instância pode ter parâmetros de IMPORTAÇÃO e exceções. Você deve passar todos os parâmetros não opcionais ao criar um objeto. Os construtores estáticos não têm parâmetros.

Construtor de Classe

O construtor estático é sempre chamado CLASS_CONSTRUCTER e é chamado automaticamente antes que a classe seja acessada pela primeira vez, ou seja, antes que qualquer uma das seguintes ações seja executada:

Criar uma instância usando CREATE_OBJECT

Acessar um atributo estático usando ->

Chamar um atributo estático usando CALL METHOD

Registrar um manipulador de evento estático

Registrar um método manipulador de evento para um evento estático

O construtor estático não pode ser chamado explicitamente.

Para melhor compreensão, verifique o seguinte código:

REPORT z_constructor.

----


  • DEFINIÇÃO DE CLASSE cl1

----


*

----


DEFINIÇÃO DE CLASSE cl1.

SEÇÃO PÚBLICA.

MÉTODOS:

adicionar,

construtor IMPORTA v1 TIPO i

v2 TIPO i,

display.

MÉTODOS DE CLASSE:

class_constructor.

SEÇÃO PRIVADA.

DADOS:

w_var1 TIPO i,

w_var2 TIPO i,

w_var3 TIPO i,

w_result TIPO i.

ENDCLASS. "cl1 DEFINIÇÃO

----


  • IMPLEMENTAÇÃO DE CLASSE cl1

----


*

----


IMPLEMENTAÇÃO DE CLASSE cl1.

MÉTODO construtor.

w_var1 = v1.

w_var2 = v2.

ENDMETHOD. "construtor

MÉTODO class_constructor.

ESCREVER:

/ 'Este é um construtor de classe ou estático.'.

ENDMETHOD. "class_constructor

MÉTODO adicionar.

w_result = w_var1 + w_var2.

ENDMETHOD. "adicionar

MÉTODO display.

ESCREVER:

/'O resultado é = ',w_result.

ENDMETHOD. "display

endclass.

" Programa principal----


dados:

ref1 tipo ref para cl1.

parâmetros:

w_var1 tipo i,

w_var2 tipo i.

início-da-seleção.

criar objeto ref1 exportando v1 = w_var1

v2 = w_var2.

ref1->adicionar( ).

ref1->display( ).

Saudações,

Anirban Bhattachar

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?