✒️ABAP POO Herencia

Publicación Académica por Alfredo César

Publicación Académica creada y compartida por Alfredo César para el tema Herencia.

Dentro del ámbito de estudios: Máster ABAP POO / Unidad 2: Conceptos y Técnicas de la POO en ABAP.

¿Buscás una carrera con Futuro?

ABAP POO Herencia por Alfredo César

Bien, hice el ejercicio un poco diferente.

Tomé la definición previa de Vehiculo que ya habiamos hecho y le cargué en un INCLUDE y le agregué los componentes que indicaba el ejercicio.

E hice el programa con lo solicitado, con algunos agregados.

SPAN { font-family: "Courier New"; font-size: 10pt; color: #000000; background: #FFFFFF; } .L0S31 { font-style: italic; color: #808080; } .L0S55 { color: #800080; } Los KM del camion los pude obtener ya sea por un método que hice para que los devolviera o bien llamando directamente al atributo KM de la clase. Les pongo los 2 ejemplos.

KM_CAMION = obtener_KM( ). " No hace falta referencia para llamar metodo de la clase.
KM_CAMION = KM. " También se puede obtener directamente el atributo de la clase.

Lo activé y funciona perfectamente.

INCLUDE Z_CLASS_VEHICULO

SPAN { font-family: "Courier New"; font-size: 10pt; color: #000000; background: #FFFFFF; } .L0S31 { font-style: italic; color: #808080; } .L0S32 { color: #3399FF; } .L0S33 { color: #4DA619; } .L0S52 { color: #0000FF; } .L0S55 { color: #800080; } *&---------------------------------------------------------------------*
*& Include Z_CLASS_VEHICULO
*&---------------------------------------------------------------------*
CLASS Vehiculo DEFINITION.
PUBLIC SECTION.

DATA: color Type String,
marca Type String,
modelo Type String,
velocidad Type String,
anio_fabricacion Type String,
Km Type I.

CLASS-DATA: nro_vehiculos Type I.

METHODS: Constructor,
asignar_anio_fabricacion
IMPORTING a_anio_fabricacion Type String,
disminuir_velocidad
IMPORTING a_velocidad Type String,
asignar_tipo
IMPORTING a_marca Type String
a_modelo Type String,
asignar_km_iniciales
IMPORTING pKM Type I,
incrementar_km,
Obtener_KM
RETURNING VALUE(pKM) Type I.

CLASS-METHODS: obtener_nro_vehiculos
RETURNING VALUE(nro) Type I.

ENDCLASS.


CLASS Vehiculo IMPLEMENTATION.
METHOD CONSTRUCTOR.
color = 'Verde'.
marca = 'Renault'.
modelo = '12'.
ENDMETHOD.

METHOD asignar_anio_fabricacion.
anio_fabricacion = a_anio_fabricacion.
ENDMETHOD.

METHOD disminuir_velocidad.
velocidad = a_velocidad.
ENDMETHOD.

METHOD asignar_tipo.
marca = a_marca.
modelo = a_modelo.
ENDMETHOD.

METHOD obtener_nro_vehiculos.
nro = nro_vehiculos.
ENDMETHOD.

METHOD asignar_km_iniciales.
KM = pKM.
ENDMETHOD.

METHOD incrementar_km.
KM = KM 1.
ENDMETHOD.

METHOD Obtener_KM.
pKM = KM.
ENDMETHOD.

ENDCLASS.

PROGRAMA Z

SPAN { font-family: "Courier New"; font-size: 10pt; color: #000000; background: #FFFFFF; } .L0S31 { font-style: italic; color: #808080; } .L0S32 { color: #3399FF; } .L0S33 { color: #4DA619; } .L0S52 { color: #0000FF; } .L0S55 { color: #800080; } .L0S70 { color: #808080; } REPORT ZPRUEBA_HERENCIA_RQ48L.

INCLUDE z_class_vehiculo.

CLASS Camion DEFINITION INHERITING FROM Vehiculo.
PUBLIC SECTION.
DATA: Km_Camion Type I.

METHODS: Ver_KM.
ENDCLASS.

CLASS Camion IMPLEMENTATION.
METHOD Ver_KM.
KM_CAMION = obtener_KM( ). " No hace falta referencia.
Write: / 'KMs Recorridos:',KM_Camion.
ENDMETHOD.
ENDCLASS.


Data:
oCamion Type REF TO Camion,
KM_Inic Type I Value 5.

START-OF-SELECTION.

CREATE OBJECT oCamion.
" Indico Modelo
oCamion->asignar_tipo( a_marca = 'Mercedes Benz'
a_modelo = '1114' ).
" Km Iniciales
oCamion->asignar_km_iniciales( pKM = KM_Inic ).

Do 20 times.
oCamion->incrementar_km( ).
Enddo.

oCamion->Ver_KM( ).

 

:: Al igual que Alfredo ¿Usted está dispuesto a aprender Funcional ABAP?

El lunes 27 Mayo 2019 comenzamos el 🎓Máster Funcional ABAP.
Juntos para realizar sus más grandes desafíos!

 Cargando presentación, aguarde unos instantes...

✒️Más Publicaciones Académicas sobre Tecnología SAP

Buscador de Publicaciones:


 

Recursos Free:

Los mejores recursos Libres y Gratuitos compartidos con la comunidad: