版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Microsoft Dynamics AX技术培训,主要内容,1、AX系统功能概述 2、AX开发平台介绍 3、X+ 集成开发环境 4、X+开发语言介绍 5、数据字典(Data Dictionary) 6、数据操作(Fetch of Data) 7、From(窗体) 8、Class(类) 9、Report(报表) 10、Menus(菜单),Microsoft AX,第一章:系统功能概述,概述,本章主要介绍AX与具体业务模块没有直接关系的功能, 这些功能在实施项目的过程中一般会由技术顾问负责教授给 客户。 这部分内容以演示为主,通过演示可以对AX的使用有个 大概的认识,知道哪些技术特性在AX中已经
2、实现,不需要另 行开发。,前景,主要内容,查询和排序记录 全局搜索 预警的使用 文档管理 数据的导入导出,查询和排序记录,AX提供了方便的查询和排序记录的方式,可以方便地查询出某条或者某些满足条件的记录 DEMO,全局搜索,全局搜索可以很方便地在多个表中进行数据的搜索 路径:基础数据设置数据爬网 场景:销售人员想看到与某个客户相关的几个表中的记 录,但他不想逐个表搜索。 DEMO,预警的使用,当用户关心的某些事件发生时,AX可以通过设定预警收到通知 DEMO,文档管理,通过文档管理可以为AX中的每条记录添加一个文档说明。 场景:用户想为每个产品添加Word文档以便说明产品 信息,或者为每个销售
3、订单添加合同的文本方便 查找。 DEMO,数据的导入导出,在AX正式上线之前需要导入一些数据,其中一些主表的数据可以通过系统中提供的导入导出功能来实现。 这些主表一般包括客户表,供应商表,物料表和会计科目表。 也可以用导入导出功能一次性导出某些类型的数据。 DEMO,应用程序框架,AX为满足企业ERP的各种技术性需求,提供了一套基础模型,利用这些模型框架,可以便于用户集中精力于实现各个领域的需求,通过现有的模型框架和新的技术特性提供给用户统一的用户体验。最常见的框架模型有: The RunBase Framework The RunBase application framework runs
4、 or batches an operation. An operation is a unit of work, such as the posting of a sales order or calculation of a master schedule. The RunBase framework uses the Dialog framework to prompt a user for data input. It uses the SysLastValue framework to persist usage data and the Operation Progress fra
5、mework to show operation progress.(基本设置里的批处理) The Batch Framework The Batch application framework creates batch entries in the Dynamics AX batch queue. These entries execute at time intervals specified by a user interacting with a dialog box provided by the framework. The RunBaseBatch framework exte
6、nds the RunBase framework, and X+ classes that extend this framework can have their operations enlisted in the batch queue.,应用程序框架,The Dialog Framework The Dialog application framework creates a dynamic dialog box that is not defined in the AOT. You can customize the dialog box by setting the captio
7、n and adding fields, field groups, menu items, text, and images. You would typically use the Dialog framework to create dialog boxes when data input is required from the user. The Operation Progress Framework The Operation Progress application framework displays a dialog box that shows the progress
8、of a processing task. You can customize the framework by setting the total number of steps in the operation and by setting the dialog box caption and animation type. You control the progress by incrementing the progress value in derived classes. Best practices include setting the total step count on
9、ly if it is known (or if it can be accessed rapidly), partitioning the process task into as many steps as possible, and insuring that steps have similar durations. If you use multiple progress bars, the first bar should show overall progress. The framework automatically calculates the time remaining
10、 for an operation.,应用程序框架,The Number Sequence Framework The Number Sequence application framework creates a new sequential number for uniquely identifying business transaction records in database tables. You can specify whether the numbers are sequential or allow gaps in the generated sequences. You
11、 can also specify the number format by using a specification string. The SysLastValue Framework The SysLastValue application framework stores and retrieves user settings or usage data values that persist between processes. You use this framework to save, retrieve, and delete a container of usage dat
12、a. (生产/工序清单) The Application Integration Framework The Application Integration Framework (AIF) sends business transactions to external applications and responds to requests from external applications. The framework comprises XML document classes, message queue management, Web services, and data mapp
13、ing features.,应用程序框架,The Wizard Framework The Wizard application framework helps users configure application features. The Infolog Framework You use the Infolog application framework when business transaction status logging is required. The information log form control displays the logged message. T
14、he Infolog framework is also the default exception handler, so any exception not caught by application code is caught by the Infolog framework. You can extend this framework to provide customized logging features.,第二章:AX体系架构,内容,了解AX的优势 了解AX的主要开发原理 了解AX的层体系 了解AX的安全体系设置 Microsoft Axapta is a customiza
15、ble, multiple language, multiple currency enterprise resource planning or ERP solution with core strengths in manufacturing and e-business and strong functionality for the wholesale and services industries.,AX的特色,功能特色: 单一的数据库可供集团中的所有公司同时使用; 在各个功能领域实现了高度的统一规划,例如原材料采购、销售和生产; 预测和生产主计划的可获得性; 多币种和多语种的灵活性
16、。,AX的特点,开发环境特色 MorphX是专为AX提供的一个集成开发环境平台; 提供了COM (The Component Object Model /组件对象模型)组件接口,便于AX与第三方软件和WEB应用的集成; 应用对象树(AOT) 提供了统一的、紧凑的设计框架和知识库;. 许多设计功能都支持鼠标的拖拽操作; 项目有助于管理和跟踪客户化定制应用。,系统构架,三层体系结构 Client, AOSApplication File, DB,优点: 降低客户端负载 使用较小的带宽,降低网络负担 支持更多的客户端,系统构架,AOT( Application Object Tree),AOT是Mo
17、rphX 的要点之一,它是所有元数据仓库的浏览器; Ctrl+D打开; 箭头键操作;,AOT 对象节点,Data Dictionary (数据字典)- 数据类型和数据表 Macros (宏) - 不能独立运行,用于jobs, classes, forms等中 Classes (类)- 包含变量和对变量操作方法 Forms (窗体)- 用户操作输入界面 Reports(报表)- 用户操作输出界面 Queries (查询)- 定义数据表查询 Web Froms (网页窗口)-企业门户中显示或输入的页面 Jobs (工作)- 可以独立执行的 X+ 程序代码,常用于测试小程序 Menu, menu i
18、tems(菜单与菜单选项) - 用户操作的菜单,AOT( Application Object Tree),Prefix Description Ax Dynamics AX typed data source Axd Dynamics AX business document BOM Bill of material COS Cost accounting Cust Customer HRM Human resource management Invent Inventory management JMG Shop floor control KM Knowledge management
19、Ledger General ledger PBA Product builder Prod Production Proj Project Purch Purchase,AOT( Application Object Tree),Prefix Description Req Requirements Sales Sales SMA Service management SMM Sales and marketing management Sys Application frameworks and development tools Tax Tax engine Vend Vendor We
20、b Web framework WMS Warehouse management,AX的基本应用,应收帐款-客户 新增一条记录; 排序; 过滤筛选记录; 帮助系统的使用;,帮助系统,系统分层技术(Layers),应用对象共分为八层次(SYS, GLS, DIS, LIS, BUS, VAR, CUS and USR.) ; 每一层分别保存在名为Ax.aod 的文件中; 例如:Axsys.aod 文件保存的是SYS层的对象, Axdis.aod 保存 DIS 层对象,依次类推. 扩展名.aod 是 Application Object Data 的缩写; Patch-layers(SYP, GL
21、P, DIP, LIP, BUP, VAP, CUP and USP.),终端用户,层描述,层描述,在AOT中查看层 工具选项开发,层描述,AX的所有用户都可以自定义AX应用 标准应用不会被修改 当删除对象时只会删除当前层的对象 设定当前层,标签和语言( Labels and languages),标签文件命名规则 Microsoft Ax 中标签文件命名: Ax*en-us.ald ,Ax*en-gb.ald *: SYS, SYP,GLS,GLP; Customization(客户端) AxSYSen-gb.ktd 中文标识:ZH-CN,标签和语言( Labels and language
22、s),标签文件向导 标签编辑窗体 为窗体分配标签 DEMO,AX的安全体系,AX中的安全分为功能级别和数据行级别(Record Level Security RLS) 功能级别主要控制某些用户组可以访问哪些功能或者哪些表的字段,比如限定某个用户组只能访问应收账款功能且只能访问其中的客户表中的某些字段,为了方便描述可以称其为列级权限。 数据行级别权限主要限定用户可以访问哪些行的数据,比如只能访问客户代码为4000的客户数据,可将其成为行级权限。,安全层级,系统管理/设置/系统/许可证信息 系统管理/设置/系统/配置 系统管理/设置/安全性/用户组权限,License codes,Base Pac
23、kage The Base Package license gives access for creating or modifying reports, jobs and queries. With the Base Package, the AOT displays the Macros, Reports, Queries, Jobs, Menus, Menu Items, System documentation, Application Developer Documentation, and Application documentation nodes only. MorphX T
24、he MorphX license provides access to the Data Dictionary node, where tables, Fields, Enum, and Extended Data Types are maintained. The ability to create or modify forms and or web-forms requires the MorphX security package. With the MorphX license, the AOT displays: Data Dictionary, Forms, Extended
25、Data Types, Macros, Jobs, and Queries in addition to the nodes on the Base Package. In addition, the Web MorphX license provides access to Microsoft Axapta Web Projects, Web forms, Web Page, and Style Sheet Editor. X+ Finally, the X+ license gives you access to all classes in Microsoft Axapta, and a
26、 development code for the customer layer, allowing customers to place modified objects in the customer layer, the user layer, or both. The X+ license gives you the ability to modify standard routines, such as the invoice routine or the posting process for a ledger journal.,授权码(License Code),配置键(Conf
27、iguration key),Licens kode (ledger),Configuration key (Bank),Configuration key (BankCheque),Configuration key (BankDeposit),安全键(Security key),AX的安全体系的设置,举例介绍Configuration key和Security key之间的相互关系及其设置。,第三章:数据字典,主要内容,了解AX MorphX开发环境和Application Object Tree (AOT); 使用MorphX设计和建表; 掌握表之间的关系; 了解不同的数据类型; 了解并
28、掌握在一个比较大的数据字典范畴内如何创建并编辑一个对象,AOT的操作,AOT的操作,Data Dictinary,Data Dictionary -Tables(表) -Maps(图) -Views(视图) -Extended Data Types(扩展类型) -Base Enums (枚举类型) -Configration Key(设置键) -Security Keys (安全键),Tables的组成,表是一种二维的数据存储结构,在Ax中表作为一种AOT对象存在,其可以看作一种特殊的类,和我们一般认识的数据库中的表有区别; 表的分类: - 系统表(Ax平台运行所必需的表) - 基本表 (业务
29、逻辑运行所必需的表) 表的组成 - 字段(Fields) - 字段组(Field Groups) - 索引 (Indexs) - 关系 (Relatioins) - 删除关联(DeleteAction) - 方法 (Methods),字段(Fields),表字段是表在物理结构中列的概念化体现,是表的重要组成部分 创建新字段,如下图: 注意:在创建对象时字段必须依赖某一扩展类型,Label属性是字段的描述,如果为空,则系统会继承扩展类型的Label值;,字段组(Field Groups),字段组是Ax对数据库表字段的一种逻辑分类,即按照一定的标准将字段归类,某一类就形成一个组;字段分组会在Ax其
30、他一些对象中用到,如后面要讲到的Form,这会给开发带来很多方便; 最佳实践:每一个字段最好附属于某一个组;组命名最好和系统命名保持一致,如:Identification,Administration,Address,Setup,Dimension等,Extended Data Types(扩展类型),枚举类型: 某类数据可能取值的集合,如一周内星期可能取值的集合为: Sun,Mon,Tue,Wed,Thu,Fri,Sat该集合可定义为描述星期的枚举类型,该枚举类型共有七个元素,因而用枚举类型定义的枚举变量只能取集合中的某一元素值。由于枚举类型是导出数据类型,因此,必须先定义枚举类型,然后再用
31、枚举类型定义枚举型变量 扩展类型基于基本数据类型和枚举类型而创建; 作用: - 对基本数据类型或枚举类型进行细分,便于开发过程中数据定义 以及表字段定义统一,例如字段名称的统一,字符类型长度统统一 - 用于Forml 中字段lookup查询; - 用于为数据表之间或form调用时自动建立关联关系; 练习:在AOT中建立枚举类型(红,绿和蓝)和扩展类型(枚举类型相应的扩展类型,几种基本类型的扩展类型;,建立扩展类型、枚举变量,在AOT中创建,如图:,索引(Indexes),Ax中的索引和数据库中索引对应; 索引的类型: - 唯一索引(Unique) - 普通索引(Non-Unique) 索引可以
32、建立在一个字段上,也可以建立在一组字段上) 最佳实践:索引命名时使用后缀“Idx”;,关系(Relations),关系反映表与表、表与扩展类型之间的一种关联 建立关系的媒介字段 关系一般建立在子表上; 关系的类型 -标准(表之间建立的关联字段与字段) -固定字段(本表某字段取固定值,相当于固定条件) -固定相关字段(关联表字段取固定值,删除约束(DeleteActions),用于控制和本表相关联表的相关数据 删除建立在relations的基础上 分类 - None 本表记录删除,关联表不受影响 - Cascade 级联删除,删除本表记录时,也会删除掉关联表中相关数 据 - Restricted
33、 限制删除。关联表中有记录时,本表记录不得删除 - Cascade 级联-限制删除 在删除本表记录后,如果关联表有相关记录,则系统会提示是否需要删除,如果选择“是”,则删除,否则不做级联删除;,表方法(Methods),分类 - 覆盖方法 Ax本身定义的方法,可重写,有特定的执行时机 - 普通方法 由用户定义的方法,完成与表相关的业务操作或功能 表的几个主要方法: - Insert() - Update() - Delete() 几个必要的普通方法 - Find() - InitFrom() - Exists(),建议建表步骤,新建一张表(Create a new table) 创建相应的扩展
34、类型(或者枚举类型) 为表添加字段(当扩展类型建立好后,可以通过拖拽的方式添加字段) 为扩展类型创建表的关联(如果某个扩展类型是关键字段) 建立表关联(如果必要) 创建索引(如果必要,至少要将关键字段建立索引) 练习:根据上面的步骤创建一对主从表,以一个字段关联;,图和视图,视图(Views)是建立在表基础之上的一种数据结构,其没有物理存储,只是对表数据的一种映射,可以通过建立关系将多张表合并成一个试图; 图(Maps)是建立在表基础上的一种数据结构,其建立在多个具有相似性的表之上,起到共享数据和共享方法的作用;,开发辅助工具,开发工具启动路径:工具开发工具,AOT右键加载项,第四章:用户界面
35、,主要内容,理解项目这个角色; 了解AX图形化界面; 掌握设计和创建Form的方法; 了解AX中的菜单的使用。,项目,私有和共享项目的分类和创建; 项目的导入和导出。,窗体设计(forms),对象模型:,Form中对象的引用,Form中常用的十个方法,FormRun.init() 这个方法初始化窗体和他的对象,这个方法是窗体启动是第一个执行的。 一定要执行super()方法,否则其他对象将不会创建。 如果你希望进行许多手动的初始化工作,需要在此编写代码,下边是可以完成的一些工作。 验证传递args对象的内容 初始化一些支持类。 动态改变窗体的设计。 如果你在函数中要使用窗体的对象,需要在sup
36、er()函数调用之后。,Form中常用的十个方法,FormRun.close() 这个方法关闭窗体,如果你需要在执行完窗体后需要清理一些内容,需要在此编写代码。 FormDataSource.init() 这个方法初始化datasource,它被FormRun.init中的super()函数调用。这个方法在窗体被打开时只执行一遍。 这个方法的主要任务是初始化获取数据的query。 如果你希望修改或者替换窗体自动创建的query,需要在super调有之后编写代码。 FormDataSource.initValue() 这个方法给新记录的初始化值,super()方法调用相关table的对应方法,表
37、中的方法将调用记录模板功能。 如果你有一些系统级的数据初始化,你需要将代码写在表上。,Form中常用的十个方法,FormDataSource.active() 当数据源一条数据被激活是这个事件被调用。这个方法被重载改变当前记录的一些属性。 修改进入datasource的权限。 修改进入field的权限 修改button的可用性。 FormDataSource.linkActive() 这个方法控制同步数据的连接。这个方法在控制者数据改变时被控制者激活数据,如果liketype属性为delayed和active。如果form的liketype为passive时这个方法也会在窗体打开时被调用一次。
38、 如果需要动态的切换active和delayed同步特性,可以使用一个条件判断决定super()方法的调用。 如果希望控制同步,可以将super()方法删除,调用formdatasource.executequery()方法。,Form中常用的十个方法,FormDataSource.validateWrite() 这个方法对插入和修改一条记录进行数据检查和确认。 Super()将调用对应表中的方法,如果你有一些系统级的方法,可以将这些内容写在表中。 如果你需要区分插入和修改,你要使用一个条件判断Recid字段,如果时修改是才会有值。 FormDataSource.write() 这个方法控制插
39、入和修改记录,如果你希望一个系统级的控制,需要在表中实现这个方法。 如果在记录提交时有一些情况要处理,需要将代码写在这里. FormDataObject.modified() 在用户修改了字段内容时被调用,这个方法可以被用于计算。 如果希望系统级的字段控制,你需要重载表中的modifierfield方法。,Form中常用的十个方法,FormDataObject.validate() 这个方法用来验证字段的内容。,通过X创建Form,static void Job2(Args _args) Args args; FormRun formrun; ; args = new Args(formStr
40、(Address); /args.caller(this); formrun = classFactory.formRunClass(args); formrun.init(); formrun.run(); formrun.wait(); ,Form设计使用的主要控件,Form的创建,举例创建一个主从表结构的Form。 数据源连结的几种类型: Passive:被动型,从数据库不自动更新,只有通过主数据源的active()方法中写程序执行更新; Delayed:延时型,在关联的从数据库插入前有一个暂停,以方便主表数据的查找; Active;积极型,主表插入数据后从表立即更新; InnerJoi
41、n:内连接,关联的两个表都要有数据 ; OuterJoin:外连接 ExistJoin:存在内连接,只要找到一条内连接记录即可; NotExistJoin:找出不匹配的记录。,Form创建的最佳实践,form提供多个事件放置代码,由于下边的原因在form上尽量的少放置代码。 窗体不能继承,你不能将在form中实现的业务哦逻辑在其他应用程序中复用。 X+代码在form中实现的方法都在客户端执行,你不能指定你的代码在客户端还是服务器执行。 如果你希望编写和数据相关系统级的应用逻辑,你需要讲代码写在表里。表中有很多可以继承和支持的类。 如果你想编写和窗体以及数据相关的方法,建议你编写一个窗体的支持类
42、。如果窗体能够在不同的数据下允许,这种方法可以提供多态性。 如果你在窗体上放置了X,建议在design编写代码,而是讲代码放在Datasource上。在design中的很多方法决定用户如何来操作窗体。,菜单项(Menu Item),有三种类型的Menu Item Display:用于连接窗体 Output:用于连接报表 Action:用于连接类 MenuItem在三种场合调用: MenuItem Button调用 在主菜单直接调用 在代码中使用相关调用类 DEMO,Menus,Menu由部分菜单项组成 Demo,第五部分:X+语言基础,主要内容,X+开发语言的主要特点; 面向对象编程基础; 了
43、解AX开发的基本工具; 对象和类; 异常处理。,什么是X+?,简单的、面向对象的、熟悉的; 可靠性- X+提供了扩展的编译审查,紧随其后的是次级运行审查。语言可以引导程序设计师养成更良好的编程习惯。存储管理的模型简单易懂;用一种new运算符来生成对象。没有外部程序员定义的数据类型或算法。该模型忽略发生程序错误的整个类; 高性能- 当不再引用一个对象时,对象被删除掉并且它所占用 的内存被释放。该策略保证了这样一种高可能性当需要使用内存时内存可用,从而导致更好的运行; 解释型及灵活性- 归功于更快速的开发周期:原型,试验和快速开发,这与传统的编译,链接和测试周期不同; 共用性- 微软Dynamic
44、s AX中的组件能无缝链接到每个支持COM标准和.NET集合的应用程序。X+也支持微软Dynamics AX内嵌COM标准的外部组件。程序员称这种方法为第三方COM组件和微软自动办公应用。,面向对象编程,一个类可以被堪称蓝图或者是模版,表明它衍生出对象,这种类是对象指定类型内的方法和变量集合。 软件对象是类的实例。每个实例都有它类中定义的数据成员和逻辑(方法)。 一种方法是同一个类或一个对象发生联系的函数(子程序)。一个对象运用方法实现它的方法。,面向对象编程,在图12中,软件对象模型应用在真实世界的对象,一台电视机。与电机对象发生联系的方法包含增加音量和调台。电视机对象有许多变量表明它的状态
45、:他被调到5台音量为10。,X+开发工具,编码编辑器 双击AOT中许多对象能在编码编辑器中打开他们。编码编辑器还能通过右键上下文菜单选择Edit打开。 编码编辑器窗口包含两个长方格: 左边方格包含当前方法列表;右边方格显示X+代码。,编辑器菜单介绍,开发辅助工具,调试器,X+数据类型,基本类型 Boolean Integer(int 和int64) Real Date TimeOfDay (0; 86400) String Enum 其他类型 Array 具有相同类型的组合 Container 容器类型(可以保存动态数量的各种类型数据) Table 系统中所有表可以定义为变量,可对表中字段操作
46、(记录级类型) Class 类中变量和方法的实例化,X+数据类型,定义格式 数据类型 变量定义名 = 默认值 举例: -基本数据类型 str 20 right mystr1 = “zhaoxiansheng”; /定义一个名为mystr1 长度为20且右对齐的字符串 mystr1 = zhangchaobin;/字符串重新赋值 int i; i = 3; int64 j ; j = 8383838383838; real r ; r = 3.02125; Date d; d = 112007; Boolean b; b = false; /true or false enumName enum
47、; enum = enumName:value;/noyes举例,X+数据类型,复杂数据类型 举例: - 数组: int intArry20; str 10 txt20; str 20 txt; /动态数组 - 容器:容器数据类型可以包含boolean, integer, real, date, string, container, arrays, tables等数据类型,类实例除外; container c; c=1,ddhdh,false; c += 2.56,salestable; str t1,t2,t3; c=x,y,z; t1,t2,t3 = c; /通过这种方式给变量赋值 容器中
48、的几个主要方法:,X+数据类型,condel() 删除容器中的相关项目 confind() 查询容器中相关项目 conins() 向容器中插入新项目 conlen() 返回容器中项目的数量 connull() 将容器置空; conpeek() 从容器中取出某一项目,并返回 conpoke() 替换容器中一个或多个项目的内容 扩展类型定义 扩展类型名 变量名称; 定义方式和基本类型相同; 表定义 表名称 变量名称 /不需要new(); 类类型定义 类名 变量名称 /通过new方法将变量实例化 练习:定义变量,运算符,X+主要控制语句,If and if . Else and if . Else
49、if Ternary operator(三元运算 ?:) Switch Loops - While - Do-while - For - Use of continue and break Select - Insert - Update - Delete,异常( Exceptions),什么是异常? 引起异常的原因: 用户操作错误(User error) 逻辑错误(Logical error) 系统错误(System error) 异常的类型(Types) info warning deadlock error internal break dderror,常用处理程序,Try and Ca
50、tch 定义: (系统异常时用户交互处理) To prevent the system from locking when an exception occurs, you can use two commands that identify and collect the exceptions. You can tell the system to give the user a message helping him to correct the error, or you can tell the system to retry the operation. 语法: Try Catch
51、(exception:error) ,Try,Try 和 Catch 命令 使用ReTry命令 确认 retry 命令不会导致无限循环 需要限定循环的次数,Catch列表处理流程,Dialog,Dialog class Dialog class 是一个特殊的类 被用于设置参数以及用户数据的获取 类似一个窗体,但有区别 Methods new(); addField(); addGroup(); value(); active() run() User pressed Cancel - Run() = false User pressed OK - Run() = true Info :向用户输
52、入系统提示信息或警告信息 Box :一种特殊的Dialog,可以用于警告,选择等场合; Error:用于发送一个错误信息; Box:info(str maintxt, str titlebar, str helptxt); box:yesNo(Choose Yes or No, DialogButton:Yes, Yes No Box Example, Answer Yes or No);,Dialog,Info (Infolog text); warning (Infolog text); error (Infolog text); 通过一段代码来创建一个Dialog。,面向对象编程(OOP
53、)介绍,面向对象设计 对象 (对象应是实际问题中有意义的个体或概念实体,它保存数据,有存储空间) 类 (类是现实世界某些对象的共同特征(属性和操作)的表示,对象是类的实例) -类的特点 1. 继承 (extends, super) 2. 封装 (包含类中变量与对象) 3. 重载 (OverLoad(不支持),类描述,类是什么? 其定义: 数据 操作数据的方法 为自己行为负责的个体 一个类包含: 类声明(状态属性) 方法 练习 创建一个类,在其中定义变量和方法 思考:表(Table)和类(Class)有何不同?,类描述,new 构造函数,用来创建一个对象并初始化其成员变量。 finalize()
54、 析构函数,用来销毁一个对象。系统不会自动调用,需要手动调用,会销毁对象。由于AX有垃圾回收机制,不建议手动调用这个方法。,类描述,Table与类的区别,类描述,访问控制 可以用private,protected,public进行访问控制。 访问控制只能针对方法进行限定,默认访问级别为public。 类成员的访问级别Protected,并不可修改,只有类及其子类的方法可 以访问。外部变量如果想访问其成员变量只能通过访问器来实现。,类描述,继承 - AX只支持单继承,不支持多继承,语法跟Java类似,用extends表示继承自某个类。 - 用final关键字可以防止类被继承和类的方法被重载。 -
55、 在子类中可以通过super()调用父类方法。,类描述,抽象类 不能被实例化 可以有抽象方法(没有方法体) 可以有普通方法(有实现) 不必含有抽象方法 只有抽象类可以含有抽象方法 继承自抽象类的子类必须实现所有抽象方法,类描述,接口 在语法上可以看做是纯虚类 在相互毫无关系的类之间找到相似点而不必在类之间建立关系 定义一个或多个类必须实现的方法列表 一个类可以实现多个接口,类描述,Overloading和默认参数 X+不支持Overloading 可以通过默认参数模拟其行为 一个方法可以用多个参数列表调用,public str initName(int _age = age str _name
56、 = name) ,object.initName(12, “Hans”);,object.initName();,object.initName(12);,object.initName(,”Hans”);,类描述,内联方法 方法体内的方法,对于只在某个方法中会用到的某段计算逻 辑,可以在该方法体内定义一个方法。 事件 X+中不支持内联类和委托,不能实现标准的事件模型 X+的事件依赖于标准方法的调用,void clicked() super(); element.moveAddressToCustTable(); ,类描述,对象方法和类方法 - 对象方法 从属于类,但必须通过实例调用 调用时
57、在对象后面跟随“.”获得方法 举例: void testMethod();/定义一个对象方法 ref_name.testMethod(); /使用实例来调用该方法 - 类方法 从属于类,其不需要通过实例而可以直接调用 需要用Static 关键字修饰 void testMethod();/定义一个对象方法 ref_name:testMethod(); /使用类名来调用该方法,类描述,方法的返回值 - void 关键字 表示没有返回值 - 一个方法需要返回值,在方法名前注明需要返回的类型即可 类型可以是Ax认可的任何数据类型 - 一个方法不需要返回值,方法名前 使用void 举例: void me
58、thod1()/无返回值 / statement int method1()/有返回值,需要返回一个整型数据 / statement return 6;/return 数据必须和返回值类型一致 ,类描述,方法的参数 一个方法在处理问题时,可能需要从外部获取一些信息作为依据,这些必要的信息是通过参数来传递的; 参数是一个方法的窗口 举例: void method2(int paramter = 5)/参数定义的数量没有限制 if( paramter = 9) 处理一种情况 else 处理另一种情况 调用:this.method2(9); 或者 this.method2();后者使用默认值,类描述,Main方法 - Main方法是Ax用来直接调用类的入口函数; -定义方法: static void Main(Args _args) main函数定义有三个约定,其一必须使用Static关键字进行修饰,其二,不能有返回值,其三必须定义一个Args类型的参数; 方法的修饰语 (具体参看开发者指南) abstract,client,display,edit,final,public,protected,pr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商务合同范本-工程合同模板
- 品牌策划合作协议-合同范本
- 合伙协议书范文
- 2024房屋租赁居间合同
- 2024运输合同物流运输合同纠纷案例
- 2024设立有限责公司出资协议模板
- 2024年冷库转让协议合同书
- 深圳发展银行委托贷款操作流程
- 2024年学校食堂用工合同协议书样本
- 北京借款合同的范本2024年
- 大宇迷你破壁机说明书
- 金属非金属矿山矿山法律法规
- 王慧文清华大学《互联网产品管理课》
- 圆的周长计算练习公开课一等奖市赛课一等奖课件
- QC提高市政闭水试验质量合格率
- 人教版九年级化学教案(全册)
- TD-T 1041-2013 土地整治工程质量检验与评定规程
- 基恩士FS-N18N放大器常用调试说明书
- 保洁人员排班表
- 2023年安徽省交通控股集团招聘笔试题库及答案解析
- LY/T 1956-2011县级林地保护利用规划编制技术规程
评论
0/150
提交评论