Vous êtes sur la page 1sur 3

*&---------------------------------------------------------------------*

*& Include
ZBC401_05_AIRPLANE_A
*
*&---------------------------------------------------------------------*
CLASS lcl_airplane DEFINITION.
PUBLIC SECTION.
METHODS: set_atributes
IMPORTING i_name
TYPE string
i_planetype TYPE saplane-planetype.
METHODS constructor
IMPORTING i_name
TYPE string
i_planetype TYPE saplane-planetype.
METHODS: display_atributes.
CLASS-METHODS: display_n_o_airplanes.
CLASS-METHODS: get_n_o_airplanes RETURNING value(re_count) TYPE i.
PRIVATE SECTION.
DATA: name
TYPE string,
planetype TYPE saplane-planetype.
CLASS-DATA: n_o_airplanes.
" Atributo estatico (1) por clase
METHODS: get_technical_attributes IMPORTING
i_airplane TYPE saplane-planetype
EXPORTING
e_weight TYPE saplane-weight
e_tankcap TYPE saplane-tankcap.
ENDCLASS.
"lcl_airplane DEFINITION
*---------------------------------------------------------------------*
*
CLASS lcl_passenger_plane DEFINITION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_passenger_plane DEFINITION INHERITING FROM lcl_airplane.
PUBLIC SECTION.
METHODS: constructor
IMPORTING i_name
TYPE string
i_planetype TYPE saplane-planetype
i_max_seats TYPE sflight-seatsmax,
display_atributes REDEFINITION.
PRIVATE SECTION.
DATA: max_seats TYPE sflight-seatsmax.
ENDCLASS.
"lcl_passenger_plane DEFINITION
*---------------------------------------------------------------------*
*
CLASS lcl_cargo_plane DEFINITION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_cargo_plane DEFINITION INHERITING FROM lcl_airplane.
PUBLIC SECTION.
METHODS: constructor

IMPORTING

i_name
TYPE string
i_planetype TYPE saplane-planetype
i_max_cargo TYPE scplane-cargomax,

display_atributes REDEFINITION.
PRIVATE SECTION.
DATA: max_cargo TYPE scplane-cargomax.
ENDCLASS.
"lcl_cargo_plane DEFINITION
*---------------------------------------------------------------------*
*
CLASS lcl_cargo_plane IMPLEMENTATION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_cargo_plane IMPLEMENTATION.
METHOD constructor.
CALL METHOD super->constructor( i_name = i_name
i_planetype = i_planetype ).
max_cargo = i_max_cargo.
ENDMETHOD.
"constructor
METHOD display_atributes.
super->display_atributes( ).
WRITE:/ 'Carga Maxima',max_cargo,' Kg.'.
ENDMETHOD.
"display_atributes
ENDCLASS.
"lcl_cargo_plane IMPLEMENTATION
*---------------------------------------------------------------------*
*
CLASS lcl_passeger_plane IMPLEMENTATION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_passenger_plane IMPLEMENTATION.
METHOD constructor.
CALL METHOD super->constructor( i_name = i_name
i_planetype = i_planetype ).
max_seats = i_max_seats.
ENDMETHOD.
"constructor
METHOD display_atributes.
super->display_atributes( ).
WRITE:/ 'Maximo Asientos Vuelo: ',max_seats.
ENDMETHOD.
"display_atributes
ENDCLASS.

"lcl_passeger_plane IMPLEMENTATION

*---------------------------------------------------------------------*
*
CLASS lcl_airplane IMPLEMENTATION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
CLASS lcl_airplane IMPLEMENTATION.
METHOD set_atributes.
name = i_name.
planetype = i_planetype.
*
ADD 1 TO n_o_airplanes.
ENDMETHOD.
"set_atributes

METHOD constructor.
name = i_name.
planetype = i_planetype.
ADD 1 TO n_o_airplanes.
ENDMETHOD.

"contructor

METHOD display_atributes.
DATA: zweight TYPE saplane-weight,
ztankcap TYPE saplane-tankcap.
WRITE:/ 'Nombre Aeronave:',name,
/ 'Tipo de aeronave: ', planetype,
icon_ws_plane AS ICON.
get_technical_attributes(
EXPORTING i_airplane = planetype
IMPORTING e_weight = zweight
e_tankcap = ztankcap ).
WRITE:/ 'Peso: ', zweight,
'Capacidad: ', ztankcap.
ENDMETHOD.

"display_atributes

METHOD display_n_o_airplanes.
WRITE:/ 'Nro De aeronaves :',n_o_airplanes.
ENDMETHOD.
"display_n_o_airplanes
METHOD get_n_o_airplanes.
re_count = n_o_airplanes.
ENDMETHOD.

"get_n_o_airplanes

METHOD get_technical_attributes.
SELECT SINGLE weight tankcap INTO (e_weight, e_tankcap)
FROM saplane WHERE planetype EQ i_airplane.
IF sy-subrc NE 0.
e_weight = 10000.
e_tankcap = 10000.
ENDIF.
ENDMETHOD.
"get_technical_attributes
ENDCLASS.

"lcl_airplane IMPLEMENTATION

Vous aimerez peut-être aussi