zoukankan      html  css  js  c++  java
  • ABAP面向对象(oo)的基本知识

    OO基础

    面向对象(OO)

           对象 :包含了数据并且可以提供服务的程序代码。

           属性:对象中的“数据”部分由属性定义

           方法:对象中的“提供服务”

    对象的属性必须通过对象提供的方法才能被外部用户操作。

    三大特征:封装,继承,多态

     类的创建分为“全局定义”和“局部定义”

    • 全局定义在se24中进行设定。
    • 局部定义直接通过se38进行代码的编写。

    全局定义

     1.首先在se24创建已zcl_***开头的类程序名

    2.定义OO中的“成员”(属性,方法,事件)

    级别:均分为实例和静态两种(实例的需要创建相关的实例才可以被调用)

    可见性:公有:可以被所有对象调用,

                   保护:只能类本身和类的继承类可调用,
                   私有:只能类本身可调用。

     

     

     对相关内容进行参数设置。

    局部定义

    类的局部创建

    parameters p_02 type string."定义一个输入的选择屏幕data e_01 type string.


    class zjj_mxdx02_01 definition."类的定义
      public section."公有部分
      methods:zjj_method_01  "方法1(methods为实例,class-methods为静态)
      importing poo_01 type  string
      exporting eoo_01 type  string.
      methods zjj_method_02. "方法2
      private section."私有部分
      methods:zjj_method_03
      importing poo_03 type string
      exporting eoo_03 type string.
    endclass.

    class zjj_mxdx02_01 implementation."实施
      method zjj_method_01.
      eoo_01 = poo_01+1(3).
      endmethod.

      method zjj_method_02.
      data oo_02 type ref to zjj_mxdx02_01.
      create object oo_02.
      call method oo_02->zjj_method_03
      exporting
        poo_03 = p_02
      importing
        eoo_03 = e_01.
      endmethod.

      method zjj_method_03.
      eoo_03 = poo_03.
      endmethod.

    endclass.
    start-of-selection.
      data oo_01 type ref to zjj_mxdx02_01. "因为定义的为实例,则必须定义实例
      create object oo_01."创建实例
      call method oo_01->zjj_method_01 "调用方法
        exporting
          poo_01 = p_02
        importing
          eoo_01 = e_01.

    *  data oo_03 type ref to zjj_mxdx02_01."所创建得可见性为私有的,无法调用
    *  create object oo_03.
    *  call method oo_03->zjj_method_03
    *    exporting
    *      poo_03 = p_02
    *    importing
    *      eoo_03 = e_01.

    WRITE:p_01,e_01.


    事件的局部创建  

    事件也分三种:公有,保护,私有,并且事件的参数不许入值传递

    事件的定义->触发->注册

     

     

  • 相关阅读:
    Tomcat 服务器的安装和配置
    谈谈如何在面试中发掘程序猿的核心竞争力
    Apache2.4卡住无法访问的解决……
    如何设计一个编辑窗体的基类
    我是如何实现一个通用的验证基类的?
    我的微信头像换成国旗后的遭遇
    如何安装一个优秀的BUG管理平台——真的是手把手教学!
    DevExpress学习系列(控件篇):GridControl的基本应用
    打车软件烧钱背后的商业逻辑
    如何给你的为知笔记添加一个漂亮的导航目录
  • 原文地址:https://www.cnblogs.com/xggnb/p/11723197.html
Copyright © 2011-2022 走看看