✒️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 28 Septiembre 2020 comenzamos el 🎓Máster Funcional ABAP.
Juntos para realizar sus más grandes desafíos!

 Cargando presentación, aguarde unos instantes...

📗 EBOOKS FREE:

Si le interesa la Tecnología SAP, pase por nuestra sección Ebooks Free y descargue uno de los 10 Ebooks libres y gratuitos que hemos desarrollado para compartir juntos.

 

CVOSOFT es la Academia líder en Tecnología SAP!

Más de 11 Años de experiencia formando consultores líderes en tecnología SAP.

logo CVOSOFT

★★★★★ Capacitación ALL Inclusive!!!

  • Formación Académica: 100% Online, Flexible, 24x7.
  • CVOREACTOR: Plataforma de Práctica y Campus Teórico CVOSOFT.
  • Profesores SENIOR: Soporte FULLTIME desde el primer al último día de su formación.
  • Avance sólido: Evaluación semanal e informes de repaso
  • Comunidad Académica: +57.000 Colaboraciones de estudiantes.
  • Egreso: Manual de Carrera, Certificación, Diplomatura y Bolsa de empleo.
  • Todo sobre nuestro modelo académico en: CVOSOFT Capacitación ALL INCLUSIVE!

 

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

Buscador de Publicaciones:


 

🌈Recursos Free:

Los mejores recursos Libres y Gratuitos compartidos con la comunidad: