✒️ABAP POO Los constructores
ABAP POO Los constructores
CONSTRUCTORES
QUE SON? Es un metodo especial que es llamado por el sistema en tiempo de ejecucion de forma implicita
TIPOS DE METODOS:
- Los que son llamados en forma explicita con la sentencia CALL METHOD
- Los que son llamados en forma implicita, que son los CONSTRUCTORES.
Utilizamos los contructores despues de crear una instancia de una clase, cuando necesitamos:
- Asignar recursos
- Inicializar atributosque no pueden cubrirse con la adicion VALUE de la sentencia DATA
- Modificar atributos estaticos
- Enviar mensajes que indiquen que un nuevo objeto ha sido creado
TIPOS DE CONSTRUCTORES QUE PUEDEN SER DECLARADOS:
- El CONSTRUCTOR DE INSTANCIA, con nombre de CONSTRUCTOR. El cual es llamado por el sistema tan rapido como el objeto ha sido generado en memoria
El CONSTRUCTOR es llamado en tiempo de ejecucion con: CREATE OBJECT
PUNTOS IMPORTANTES AL DEFINIR CONSTRUCTORES DE INSTANCIA:
- Cada clase no puede tener mas de un constructor de instancia
- El constructor se define en la seccion publica de la clase
- El contructor solo tiene parametros IMPORTING y excepciones
- Al ejecutar las excepciones en el constructor las instancias del objeto no son creadas
- Excepto por un caso extraordinario no se puede llamar a un constructor explicitamente
NOTA: No existe un destructor en los objetos ABAP, es decir no hay un metodo de instancia que se llame automaticamente antes de que un objeto sea borrado.
Tal como vimos todos las clases tienen un constructor de instancia llamado constructor, esta es una excepcion a la regla que establece que los nombre de los componentes dentro de un arbol de herencia deben ser unicos, sin embargo los constructores de intancias de las distintas clases en un arbol de herencia son totalmente independientes entre si, no es factible redefinir el contructor de instancia de una super-clase en una sub-clase, tampoco es posible llamar a un contructor especifico utilizando la sentencia CALL METHOD CONTRUCTOR, en consecuencia no se pueden producir conflictos en los nombres.
Debido a que una sub-clase contiene todos los atributos visibles de sus super-clases que tambien pueden ser establecidos por los contructores de intancia, el constructor de instancia de una sub-clase tiene que asegurarse que los constructores de instancia de todas sus super-clases tambien sean llamados, para ello el constructor de instancia de cada sub-clase, debe contener el metodo CALL METHOD SUPERCONSTRUCTOR.
En las super-clases que no tengan un constructor de instancia explicitamente definido, el constructor de instancia implicito es llamado, de esta manera nos aserguramos de forma automatica que el constructor de instancia de la super-clase inmediata es llamado.
- El constructor estatico con nombre CLASS_CONSTRUCTOR
CONSTRUCTOR DE CLASE. El CLASS-CONSTRUCTOR es llamado por el sistema cuando la clase es accedida por primera vez, pero antes que las siguientes acciones sean ejecutadas por primera vez:
- Crear una instancia de la clase con CREATE OBJECT
- Acceder a un atributo estatico de la clase
- Llamar a un metodo estatico de la clase
- Registrar un metodo manejador de eventos para un evento de la clase
Consdera los siguientes puntos para constructores estaticos:
- Cada calse no puede tener mas de un constructor estatico
- El contructor estatico debe ser definido en la seccion publica de la clase
- El constructor estatico no puede tener parametros IMPORTING ni excepeciones
- Un constructor estatico no puede ser llamado en forma explicita
Podemos crear el contructor de clase a traves de la transaccion estandar SE24, dentro de la definicion de la clase global, para ello ejecutamos la transaccion SE24, escribimos un nombre de clase en el tipo objeto y presionamos el boton CREAR, en la barra de herramientas de la pantalla que vemos a continuacion visualizaremos el boton contructor CLASE en el extremo superior derecho de la pantalla, si lo presionamos automaticamente, estaremos generando nuestra clase el metodo estatico de visibilidad publica CLASS CONSTRUCTOR si realizamos doble clic en el nombre del metodo podremos agregar el codigo ABAP que deseamos dentro del mismo.
 
 
 
Sobre el autor
Publicación académica de Ixhel Magai Lopez Valencia, en su ámbito de estudios para el Máster ABAP POO.
Ixhel Magai Lopez Valencia
Mexico - Legajo: PM62E
✒️Autor de: 134 Publicaciones Académicas
🎓Egresado de los módulos:
- Máster ABAP for HANA
- Máster ABAP Orientado a Objetos
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: PartTime
Presentación:
Soy ingeniera en telematica, estoy interesada en aprender programacion en sap, solo tengo conocimientos basicos en java
Certificación Académica de Ixhel Lopez