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

  PUBLIC SECTION.
    INTERFACES zif_vehicle.

  PRIVATE SECTION.
    CONSTANTS:
      c_type    TYPE string VALUE 'CAR',
      c_doors   TYPE i      VALUE 4,
      c_power   TYPE i      VALUE 90.

ENDCLASS.


CLASS zcl_car IMPLEMENTATION.

  METHOD zif_vehicle~get_type.
    rv_type = c_type.
  ENDMETHOD.

  METHOD zif_vehicle~describe.
    rv_desc = |Sedan, { c_doors } doors, { c_power }kW|.
  ENDMETHOD.

ENDCLASS.