赛跑网

 找回密码
 注册
查看: 2907|回复: 1

[FICO] abap 面向对象学习1

[复制链接]
发表于 2013-3-16 17:02:40 | 显示全部楼层 |阅读模式
REPORT  Z_OO_01.

class simpleobj definition.             " 类定义
  public section.                           "public like java
   methods show_text.
  private section.                         "private  like java
   data text(40) TYPE c VALUE 'this is my first oo'.
ENDCLASS.

class simpleobj implementation.  " 类的实现
  method show_text.
    WRITE text.
  endmethod.
ENDCLASS.

data ob_app type ref to simpleobj.  "定义类的实例变量

start-of-selection.
create object ob_app.                    " 创建实例对象,like  new Object()
call method ob_app->show_text.   " 类实例调用方法

---------------------------------------------------------------------------

REPORT  Z_OO_02.

class vehicle definition.
  PUBLIC SECTION.
   class-data class_name(10) VALUE 'Vehicle'.
   methods : accelerate,show_speed.
  PROTECTED SECTION.
   data speed TYPE i.
   constants : pi TYPE p decimals 2 VALUE '3.14'.
ENDCLASS.

class vehicle IMPLEMENTATION.
  METHOD accelerate.
    speed = speed + 1.
  ENDMETHOD.
  method show_speed.
    WRITE :/ 'Speed:',speed.
  ENDMETHOD.
ENDCLASS.

data ob_app1 TYPE REF TO vehicle.
data ob_app2 TYPE REF TO vehicle.
data ob_app3 TYPE REF TO vehicle.
data o_vehicle TYPE REF TO vehicle.

start-of-selection.
create OBJECT : ob_app1,
                 ob_app2.

WRITE : 'ob_app1',ob_app1->class_name.
WRITE :/ 'ob_app2',ob_app1->class_name.
WRITE :/ 'vehicle',vehicle=>class_name.

skip.

vehicle=>class_name = 'Ship'.
WRITE : 'ob_app1',ob_app1->class_name.
WRITE :/ 'ob_app2',ob_app1->class_name.
WRITE :/ 'vehicle',vehicle=>class_name.

  skip.

vehicle=>class_name = 'Bus'.
create object ob_app3.
WRITE :/ 'ob_app3',ob_app3->class_name.

call method ob_app3->accelerate.
call method ob_app3->show_speed.

create OBJECT o_vehicle.

DO 5 TIMES.
  call METHOD o_vehicle->accelerate.
ENDDO.
  call METHOD o_vehicle->show_speed.

data o_vehicle2 LIKE o_vehicle.

o_vehicle2 = o_vehicle.

clear o_vehicle.
if o_vehicle is not INITIAL.
call METHOD o_vehicle->show_speed.
endif.
call METHOD o_vehicle2->show_speed.
WRITE '对象只要有被引用的变量,就是活动的'.

最近访客

  • sapxf
    2022-01-21
  • 稻草人20
    2022-01-18
  • 斯普菜鸟
    2021-10-15
  • 爱家老于
    2021-01-20




上一篇:最新会计科目中英文对照(北京市审计局发布)
下一篇:abap 面向对象学习2
本楼点评(0) 收起
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|联系我们|赛跑网 ( 苏ICP备14021163号-4QQfsq

GMT+8, 2026-8-3 13:17 , Processed in 0.213772 second(s), 35 queries .

Powered by 91SAP X3.4

© 2001-2023 91sap Team.

快速回复 返回顶部 返回列表