zoukankan      html  css  js  c++  java
  • abap objectoriented--基本内容

    引用:翱翔云天

    abap object-oriented--基本内容

    184 views

    从今天开始abap oo之旅,主要写一些基础的,能够被轻松的理解的内容。Abaper们也要充电啊,毕竟oo是将来的大势所趋,再说多一技不压身,对自己总是有好处的。

    首先介绍abap oo中经常用到的定义。无论任何面向对象编程的语言,类都是最基本的,而对象是类的实例,这也是最基本的知识。

    对象有属性,有方法(有的书叫操作)。

    同时面向对象语言可以实现很好的封装,以及多态。

    下面我们一一介绍最基本的定义:

    1. Public attributes

    公有属性定义在public section中,其内容可以在类的外部看到,或者修改。

    一条规则:尽量减少公共属性,如果问为什么,那么可以参考面向对象语言的特性:封装,尽可能在类的内部修改属性,留给外部的只有接口,避免外部直接操作类里面的属性(或称数据)。

    2. Private attributes

    只能在类的内部访问或者修改的数据,定义在private section里面。

    3. Static attributes

    在类中,每个静态属性都是唯一的。属性的值在所有类的实例中是相同的。用class-data声明。

    4. Protected attributes

    这些保护属性,定义在protected section里面,其作用是改区域里面的属性或者方法,不能被外部调用,但是在它的子类中是可见的,也就是说,其子类可以访问protected section中的数据,这和private section是不同的。

    5. Public method, private method, static method, protected method

    这些和对应的属性同上。

    6. Constructor method

    每个类都有一个隐含的方法,在java或c++中叫构造函数,注意,abap中没有析构函数(java好像也没有)。在其他语言中,构造函数和类名相同,但是在abap中,有一个保留的名字,叫做constructor。

    当你调用create object创建对象的时候,这个函数会被执行。

    Constructor可以分为instance constructor以及static constructor。

    对于instance constructor(声明的时候使用methods),可以有import参数以及exceptions,而static constructor(声明的时候使用class-methods),没有参数传递。

    注意:static constructor一定会在以下动作之前执行

    1).创建对象,create object

    2).访问静态属性,class=>attribute

    3).调用静态方法,call method class=>method

    4).注册一个静态事件句柄,static event handler

    7. Polymorphism: 多态性

    当一个相同的方法在不同的类中有不同的实现就是多态。

    在abap中,多态可以有两种实现方法:

    1).通过继承实现

    2).通过接口实现

    8. Interface:接口

    在abap中,接口需要另外实施(其实就是在类中实施),同时有独立于类。

    在接口中只有声明部分,而没有具体的实施部分。

    1).接口必须在类的公共部分列出(public section)

    2).接口中的操作在类中实现,并且作为类的方法;所有接口中的方法必须在类的实现部分实施。

    3).在接口中定义的属性,事件,常量,类型等在声明它的类中自动可见。

    4).实施接口的方法:interface~component name

  • 相关阅读:
    hdu 1017 A Mathematical Curiosity 解题报告
    hdu 2069 Coin Change 解题报告
    hut 1574 组合问题 解题报告
    hdu 2111 Saving HDU 解题报
    hut 1054 Jesse's Code 解题报告
    hdu1131 Count the Trees解题报告
    hdu 2159 FATE 解题报告
    hdu 1879 继续畅通工程 解题报告
    oracle的系统和对象权限
    oracle 自定义函数 返回一个表类型
  • 原文地址:https://www.cnblogs.com/wequst/p/1513456.html
Copyright © 2011-2022 走看看