ABAP OO的基本概念
2009-05-04 16:23
513 查看
SAP起初使用的是宏编程,为了提高报表的开发效率而产生了ABAP语言,尽管他是一门独立的语言,不过也受到了cobol和pascal语言的影响,ABAP OO是对ABAP语言的扩展,他实现了像JAVA,C++这些面向对象语言的特性。
面向过程编程的特点是变量与功能分离,功能可以模块化。
在程序中调用function module时,function group和程序的变量内存位于同一个internal session的不同的内存区域。Function group实现了变量的封装,但其在一个程序中只能有一个实例,如果想实现多实例,就要加入特殊的逻辑进行管理。
ABAP OO的特性:封装了数据和方法 支持多态 支持继承(只支持单继承)
一个ABAP CLASS包括attributes,methods,events,constants,types和implemented interface。
你只能在interface定义和类声明的public section部分使用read only。
使用constructor创建类时如果exception发生,那么实例不会被创建,内存也不会被占用。
在下列三种情况下你需要使用structor::
l 需要分配外部资源
l 需要初始化用DATA…VALUE无法初始化的属性
l 需要修改静态变量
在一个程序中,Class-constructor在下列动作发生之前执行:
l 使用CREAT OBJECT创建一个类实例
l 访问一个静态属性
l 调用一个静态方法
l 注册一个静态event handler
l 一个静态的event被注册
在一个类里,attribute names, method names, event names, constant names, type names以及alia names位于同一个命名区域里而在方法中有本地的命名区域用于定义本地变量,与class命名区域同名的本地变量会覆盖class级别的变量。
面向过程编程的特点是变量与功能分离,功能可以模块化。
在程序中调用function module时,function group和程序的变量内存位于同一个internal session的不同的内存区域。Function group实现了变量的封装,但其在一个程序中只能有一个实例,如果想实现多实例,就要加入特殊的逻辑进行管理。
ABAP OO的特性:封装了数据和方法 支持多态 支持继承(只支持单继承)
一个ABAP CLASS包括attributes,methods,events,constants,types和implemented interface。
你只能在interface定义和类声明的public section部分使用read only。
使用constructor创建类时如果exception发生,那么实例不会被创建,内存也不会被占用。
在下列三种情况下你需要使用structor::
l 需要分配外部资源
l 需要初始化用DATA…VALUE无法初始化的属性
l 需要修改静态变量
在一个程序中,Class-constructor在下列动作发生之前执行:
l 使用CREAT OBJECT创建一个类实例
l 访问一个静态属性
l 调用一个静态方法
l 注册一个静态event handler
l 一个静态的event被注册
在一个类里,attribute names, method names, event names, constant names, type names以及alia names位于同一个命名区域里而在方法中有本地的命名区域用于定义本地变量,与class命名区域同名的本地变量会覆盖class级别的变量。
相关文章推荐
- ABAP report printer的基本概念介绍
- SAP ABAP/4学习--学习使用OO在ABAP中.简单入门概念.用个例子来说明
- SAP ABAP/4学习--学习使用OO在ABAP中.简单入门概念.用个例子来说明
- SAP ABAP/4学习--学习使用OO在ABAP中.简单入门概念.用个例子来说明
- java OO基本概念
- 【abap】创建使用function的基本概念(输入输出参数)SE37
- ArcGIS for iOS 开发系列(1) – 基本概念
- Python学习之心路历程------第一天:基本概念(1)
- 散列表的基本概念及其运算
- 教程1:IP地址和路由基本概念
- Attribute的基本概念
- MySql基本概念(一)
- 日志基本概念/rSyslog
- H264基本概念之 宏块、片和片组
- java并发编程:基本概念
- SEO基本概念:什么是死链接?
- [MPI] MPI 消息传递通信的基本概念
- 关于I2C和SPI总线协议的基本概念和对比
- MySQL中二进制与重做日志文件的基本概念学习教程
- JavaScript的基本概念