✒️ABAP POO - Herencia

ABAP POO Herencia

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( ).


Sobre el autor

Publicación académica de Alfredo César, en su ámbito de estudios para el Máster ABAP POO.

SAP Senior

Alfredo César

Profesión: Analista de Sistemas - Argentina - Legajo: RQ48L

✒️Autor de: 33 Publicaciones Académicas

🎓Egresado de los módulos:

Certificación Académica de Alfredo César

 

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

El lunes 02 Agosto 2021 comenzamos el 🎓Máster Funcional ABAP.
Juntos para realizar sus más grandes desafíos!

 Cargando presentación, aguarde unos instantes...

 

 

+Recursos Gratuitos en CVOSOFT:

¡Lo importante es aprender!, por eso en CVOSOFT la comunidad SAP más grande de habla hispana, ponemos a su alcance los siguientes recursos abiertos libres y gratuitos:

Buscador de Publicaciones:

 

 

Consultas y Soporte

👋Hola! Estamos listos para ayudarle con el soporte que su carrera merece.

Acceda sección contacto y seleccione canal de comunicación más cómodo para usted.

🤝Aguardamos su mensaje, ¡Éxitos!

 


 

👉Que las empresas tomen en serio sus estudios es muy importante para que su inversión educativa tenga sentido.
Las empresas líderes de United States y del Mundo confían a CVOSOFT su recurso más valioso, la formación de su gente.

¿Quieres conocerlas?