[SAP ABAP] 面向对象程序设计-构造方法

构造方法(constructor)是一类特殊的方法,在创建对象实例时,构造方法自动运行(在实例化对象时,自动完成对象的初始化)

我们可以使用METHODS CONSTRUCTOR 或者 CLASS-METHODS CLASS_CONSTRUCTOR定义构造方法

每个类只能有一个构造方法,在  CREATE OBJECT  语句中自动调用构造方法

例1

通过构造方法,创建对象实例的代码更加简洁

REPORT z437_test_2025.

CLASS book DEFINITION.
  PUBLIC SECTION.
    TYPES: ty_price TYPE p LENGTH 10 DECIMALS 2.

    METHODS:
      constructor IMPORTING title  TYPE string
                            author TYPE string
                            price  TYPE ty_price,

      set_price IMPORTING new_price TYPE ty_price,

      print_info.

  PRIVATE SECTION.
   DATA: title  TYPE string,
         author TYPE string,
         price  TYPE p DECIMALS 2.

ENDCLASS.                      " Book DEFINITION.

CLASS book IMPLEMENTATION.
  METHOD constructor.
    me->title = title.
    me->author = author.
    me->price = price.
  ENDMETHOD.                   " constructor

  METHOD set_price.
    me->price = new_price.
  ENDMETHOD.                    " set_price

  METHOD print_info.
    WRITE: / 'Title:',  title.
    WRITE: / 'Author:', author.
    WRITE: / 'Price:',  price.
    ULINE.
  ENDMETHOD.                   " print_info
ENDCLASS.                      " Book IMPLEMENTATION

START-OF-SELECTION.
  " 定义变量
  DATA: book1 TYPE REF TO book,
        book2 TYPE REF TO book.

  " 创建对象实例
  CREATE OBJECT book1
    EXPORTING title = 'A'
              author = 'Andy'
              price = '39.5'.

  CREATE OBJECT book2
    EXPORTING title = 'B'
              author = 'Box'
              price = '18.8'.

  book1->print_info( ).

  book2->set_price( '22.0' ).
  book2->print_info( ).

输出结果:

在ABAP编程中,构造方法(constructor))名称始终为constructor

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值