Avalados por :
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
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
Esta mensagem foi moderada.
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
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute