login as:
~/abapcraft.dev — code, crafted in SAP
florin@s4hana:~/abap/posts/factory-pattern/src/zcl_truck.clas.abap $ cat zcl_truck.clas.abap
factory-pattern / src / zcl_truck.clas.abap
ABAP 27 lines
CLASS zcl_truck DEFINITION
  PUBLIC FINAL CREATE PUBLIC.

  PUBLIC SECTION.
    INTERFACES zif_vehicle.

  PRIVATE SECTION.
    CONSTANTS:
      c_type   TYPE string VALUE 'TRUCK',
      c_wheels TYPE i      VALUE 18,
      c_power  TYPE i      VALUE 320.

ENDCLASS.


CLASS zcl_truck IMPLEMENTATION.

  METHOD zif_vehicle~get_type.
    rv_type = c_type.
  ENDMETHOD.

  METHOD zif_vehicle~describe.
    rv_desc = |Semi, { c_wheels } wheels, { c_power }kW|.
  ENDMETHOD.

ENDCLASS.