摘要:
引用:翱翔云天203 views 介绍abap object,从最基础的开始,循序渐进,慢慢掌握。 从一个最简单的例子讲起,尽量把object语句都能够涉及到。这个例子我们建了一个类,里面有相应的属性以及方法。问题假设:有一个对象actor,对其名字进行操作,包括first name和last name,通过constructor进行初始化,利用方法ToString显示最终结果。REPORT ZB... 阅读全文
摘要:
引用:翱翔云天This report is used to get the open sales order, just for a refer.REPORT /SIE/CHN_SD_SDI_OPEN_QTY . *&---------------------------------------------------------------------* *& Macro dec... 阅读全文
摘要:
引用:翱翔云天abap object-oriented--基本内容184 views 从今天开始abap oo之旅,主要写一些基础的,能够被轻松的理解的内容。Abaper们也要充电啊,毕竟oo是将来的大势所趋,再说多一技不压身,对自己总是有好处的。首先介绍abap oo中经常用到的定义。无论任何面向对象编程的语言,类都是最基本的,而对象是类的实例,这也是最基本的知识。 对象有属性,有方法(有的书叫... 阅读全文
摘要:
引用:翱翔云天这一节我们来看一下abap oo的定义语句,包括类,方法,事件,属性,接口。1. 定义类 ******************************************* Definition part******************************************CLASS xxx DEFINITION.*-------------------------... 阅读全文
摘要:
引用:翱翔云天这一节通过一个最简单的例子来介绍如何使用类,以及类的属性和方法。先把背景介绍一下: 创建一个lcl_airplane类,通过方法set_attributes设置它的属性,通过display_attributes显示实例的属性,通过display_n_o_airplanes显示已经创建的实例的个数。 *------------------------------------------... 阅读全文
摘要:
这一节通过上节给出的例子,定义类的初始化。*----------------------------------------------------------------------* * INCLUDE Z_SAMPLE_LCL_AIRPLANE * *----------------------------------------------------------------------*... 阅读全文
摘要:
引用:翱翔云天在这一节中,我们来实现继承。背景:有两种飞机,一种是客机,一种是货机。显然他们都属于飞机的一种,所以按照对象抽象,得到父类。对于客机而言,有其特殊的属性即座位的数量,而对于货机,同样有特殊的属性能承载的最大重量。所以,原来父类的显示属性的方法不再适用,我们可以把这个方法定义为抽象方法(c++中的虚函数),也可以保留其共同的实现,在子类中重新定义该方法的实现。Uml图如下:*-----... 阅读全文
摘要:
引用:翱翔云天这一节我们将参照一个例子,介绍事件(event)的使用方法。1.定义event2.Set handler3.Raise eventREPORT zbobo_events_5.*---------------------------------------------------------------------** CLASS lcl_dog DEFINITION*--------... 阅读全文
摘要:
引用:翱翔云天继续我们的看实例学习abap面向对象编程. 在此次的例子中,我们以雇员的工资为蓝图,设计一个程序,然后再一步一步的改进我们写的程序,使其有更好的扩展性以及维护性.该例中所使用的基类是employee类,其子类包括:boss类,不管工作多长时间,他总是有固定的周薪(好爽!).销售员类commission worker,他的收入是一小部分工资加上销售额的一定提成.计件工类piece wo... 阅读全文
摘要:
引用:翱翔云天203 views Ok,今天可是设计模式之旅.1. 什么是设计模式: 每一个模式描述了在我们周围不断重复发生的问题,以及该问题的解决方案的核心.这样,你就能一次又一次的使用该方案而不必做重复劳动. Note: 1).是重复发生的问题 2).重用 2. 模式的四要素: 1).模式名称:一个名字,标识一个模式 2).问题:描述了应该在何时使用模式 3).解决方案:描述了设计的组成部分,... 阅读全文
摘要:
引用:翱翔云天 首先介绍策略模式的基本内容1. 意图: 定义一系列算法,把他们一个个的封装起来,并且使他们可以互相替换.本模式可以使得算法可以独立于使用他的客户而变化. 2. 结构: 3. 适用性: 1).许多相关的类仅仅是行为有异. 2).需要使用一个算法的不同变体. 3).一个类定义了多种行为,并且这些行为在这个类的操作中以多个条件语句的形式出现. 4. 参与者: 1).Strategy 定义... 阅读全文
摘要:
引用:翱翔云天 这章我们介绍观察者模式,下面先给出观察者模式的例子的类图:首先给出测试程序的代码: REPORT ZBOBO_DP_002_RE . *Include file for the class and interface include zbobo_dp_002_cl_if. *Declare data data: * Weather data class reference obje... 阅读全文
摘要:
引用:翱翔云天 首先,按照惯例,上例子程序的类图测试程序如下:REPORT ZBOBO_DP_003_RE . *The class and interface for this program include zbobo_dp_003_if_cl. *Reference data for drink definition data: dr_ref type ref to drink. *Temp... 阅读全文
摘要:
引用:翱翔云天内容:定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。简单来说,工厂方法模式能够封装具体的类型的实例化。 结构: Product:所有产品都必须实现这个共同的接口,这样一来,使用这些产品的类就可以引用这个接口,而不是具体类。 ConcreteCreator:负责创建一个或者多个具体产品,只有concrete creator类知道如何创建这些... 阅读全文
摘要:
引用:翱翔云天Make you farmiliar with SAP control framework:Control framework主要包含两个组件: 1. CL_GUI_CFW: 这个类里面主要包含一些静态方法(Static method). 主要组件: Dispatch: 此方法可以触发application event,如果不调用这个方法,application event会在PAI... 阅读全文
摘要:
引用:翱翔云天我们前面看了几个container,包括customer container和splitter container,下面我再把其他两个常用的container介绍给大家。1.1 CL_GUI_DIALOGBOX_CONTAINER这个从名字上我们就可以看出来它是干什么的,就是弹出对话框的container。那么有人会问,有很多函数可以弹出对话框,即使没有相应的函数,我们也可以选择新建... 阅读全文
摘要:
引用:翱翔云天1.1 CL_CTMENU 1.1.1 定义 这个就是右键菜单了,可以分成两种,一种是静态的,一种是动态创建的。 静态的就是在程序中已经预先定义,也就是通过se41菜单编辑器定义的 动态的是指在程序中,对某一个控件使用时,再定义1.1.2 属性 主要有两个静态变量 LOAD_OBJECTS types: begin of l_objects, program type program... 阅读全文
摘要:
引用:282 views 1.1.1 定义 定义一个工具栏,里面有很多按钮或者下拉列表,可以选择其中的功能,以实现程序中的逻辑控制。1.1.2 属性 几个constants: M_ID_FUNCTION_SELECTED M_ID_DROPDOWN_CLICKED M_MODE_VERTICAL M_MODE_HORIZONTAL 1.1.3 方法 CONSTRUCTOR PARENT conta... 阅读全文
摘要:
引用:翱翔云天1.1.1 定义显示图片,该类实现了sap中图片容器的功能,并提供了一些对图片的操作方法。1.1.2 属性一些constants:EVENTID_PICTURE_CLICKEVENTID_PICTURE_DBLCLICKEVENTID_CONTROL_CLICKEVENTID_CONTROL_DBLCLICKDISPLAY_MODE_NORMALDISPLAY_MODE_STRETC... 阅读全文
摘要:
引用:翱翔云天 274 views 1.1 例子 好了,说了这么多,我们举一个小例子,来使用这三个类,关于dragdrop类,我们会在后面介绍其具体的使用方法。 背景: 我们得到了一个图片,然后把它显示在picture control中。添加一个toolbar,通过toolbar中的按钮控制图片的大小以及显示方式。通过使用context menu,可以实现一些控制,比如删除图片,打开新图片等等。8... 阅读全文