zoukankan      html  css  js  c++  java
  • 方法的重载、类的继承

    REPORT  Z_METHOD_REDEFINITION.
    CLASS vehicle DEFINITION INHERITING FROM object.     所有的类都继承 object
      PUBLIC SECTION.
        METHODs:accelerate,write_status.
      PROTECTED SECTION.
        DATA speed type i.
    ENDCLASS.

    CLASS plane DEFINITION INHERITING FROM vehicle.      “继承基类vehicle,必须使用关键字INHERITING FROM
      PUBLIC SECTION.
        METHODs:rise,write_status REDEFINITION.        方法write_status 在子类中将会被重载,重新定义,必须用关键字REDEFINITION声明
      PROTECTED SECTION.
        DATA altitude TYPE i.
    ENDCLASS.

    CLASS ship DEFINITION INHERITING FROM vehicle.
      PUBLIC SECTION.
      METHODs write_status REDEFINITION.       
      ENDCLASS.

    CLASS vehicle IMPLEMENTATION.
      METHOD accelerate.
        speed speed + 1.
      ENDMETHOD.
      METHOD write_status.
        WRITE: /  'Speed:',  speed.
      ENDMETHOD.
    ENDCLASS.

    CLASS plane IMPLEMENTATION.
      METHOD rise.
        altitude altitude + 1.
        ENDMETHOD.
        METHOD write_status.
          WRITE 'Plane:'.
          CALL METHOD super->write_status.        在子类中如果想使用基类中的原始方法时必须在子类实现的内部调用,必须用关键字super
          WRITE: 'Altitude:',altitude.
          ENDMETHOD.
      ENDCLASS.
    CLASS ship IMPLEMENTATION.
      METHOD write_status.
      WRITE: 'Ship speed:',speed.
      ENDMETHOD.
      ENDCLASS.
       DATA:plane_Ref TYPE REF TO plane,     创建一个引用数据对象,该数据对象的类型定义为指向一个类plane的对象指针
             ship_ref TYPE REF TO ship.
       START-OF-SELECTION.
       CREATE OBJECT :plane_Ref,ship_ref.  定义指针后,create object plane是创建这个类的实例
       call METHOD :plane_Ref->accelerate,              
       plane_Ref->rise,
       plane_ref->write_status,
       ship_ref->accelerate,
       ship_ref->write_status.

  • 相关阅读:
    最短路径----SPFA算法
    POJ --3009
    求解n位格雷码
    leetcode66- Plus One- easy
    leetcode305- Number of Islands II- hard
    leetcode146- LRU Cache- hard
    leetcode284- Peeking Iterator- medium
    leetcode734- Sentence Similarity- easy
    leetcode399- Evaluate Division- medium
    leetcode20- Valid Parentheses- easy
  • 原文地址:https://www.cnblogs.com/caizjian/p/3237320.html
Copyright © 2011-2022 走看看