《编写对象接口》PPT课件.ppt

《编写对象接口》PPT课件.ppt

ID:52372459

大小:305.56 KB

页数:30页

时间:2020-04-05

《编写对象接口》PPT课件.ppt_第1页
《编写对象接口》PPT课件.ppt_第2页
《编写对象接口》PPT课件.ppt_第3页
《编写对象接口》PPT课件.ppt_第4页
《编写对象接口》PPT课件.ppt_第5页
资源描述:

《《编写对象接口》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第四章编写对象接口编写对象接口对象接口与对象实现OMGIDL的语法与语义使用值类型使用接口库设计对象接口的准则4.1对象接口与对象实现接口与对象实现之间是多对多关系对象接口的定义应包括对象的类型名字,对象上可进行的操作,属性,相关的数据类型定义,常量定义,异常定义等信息4.1.2接口定义语言对象实现对外提供信息和服务信息和服务是对象实现与客户程序之间的一种合约接口定义语言是书写这种合约的标准语言IDL是一种说明性语言,不是程序设计语言IDL的特点面向对象用于定义分布式服务的规格说明定义复杂的数据类型独立于具体的

2、程序设计语言和特定的硬件,网络和操作系统平台4.2语法与定义词法规则模块声明类型的声明常量异常接口值类型4.2.1词法规则类似ANSIC++词法规则和预处理特性关键字是大小写敏感;标识符大小写无关4.2.2模块的声明用于限制标识符的作用域一般将逻辑上密切相关的接口,类型,常量,异常等存放在同一模块中4.2.3类型的声明基本数据类型复合数据类型枚举结构UNION序列和数组4.2.4常量的声明转换为该IDL接口生成的操作接口中的常量声明接口内接口外4.2.5异常的声明引入关键字exception专门定义异常4.2.

3、6接口的声明属性声明参数传递单向传递上下文传递继承机制抽象接口接口——属性属性不应看作对象的状态数据,是一种特殊的操作(0元操作)可读写属性被映射为java中重载的方法(getter(),setter())IDL接口中的属性被映射为JAVA语言的方法而不是变量,因此IDL接口可直接映射到JAVA的接口而不是类接口——参数传递方向in:客户到对象实现out:对象实现到客户inout:双向in可直接映射到java方法的参数out,inout无法直接映射,利用持有类解决接口——单向操作没有返回值的操作可设计为onew

4、ay操作对象实现不确认请求是否真的收到接口——上下文表达式附带于操作中指明客户端那些影响对象请求执行结果的,与发出调用请求的客户环境有关的因素4.2.7值类型的声明作用典型用法声明形式抽象具体动态确定参数传递盒装值类型定制值类型与可截断值类型值类型——作用在网络中传递对象状态信息,即为了实现按值传递对象值类型——典型用法按值调用传递参数:创建实参的副本远程操作返回一个对象时创建返回的副本实质:一个对象的目的是为了封装数据,或一个APP需要显式地对某一对象进行复制,该对象应使用IDL值类型而不是接口类型,此时的对

5、象实例称为“值”值类型——抽象值类型只含操作的基调而没有状态数据和初始化数据,因而不能创建值的实例可继承多个抽象值类型,但不能继承具体值类型值类型——具体值类型类似IDL结构类型,但允许包含状态数据和初始化数据可继承单个具体值和多个抽象值类型,还可支持单个具体接口和多个抽象接口映射为JAVA的抽象类对接口的支持关系映射为JAVA中类对接口的实现关系值类型——动态确定参数传递方式若形参类型为idl接口或值类型,则分别静态地确定了该参数的传递方式为按引用调用和按值调用抽象接口可支持运行时动态选择参数传递方式A抽象接

6、口,p实参规则:p属于具体接口或其子类型;且该类型是A的子类型;p已注册到ORB,则p被当作一个对象引用并按引用传递P属于值类型且该值类型支持A,则p被当作一个值并按值传递引发BAD_PARAM异常值类型——盒装值类型允许将非值类型的IDL数据类型包装为值类型值类型——定制值类型与可截断值类型不采用默认的对象打包和解包操作,而是由程序员手工实现由CustomMarshal接口继承的marshal()和unmarshal()方法映射的java抽象类继承CustomValue,而不像具体值类型那样继承Streama

7、bleValue不生成映射的read(),write()方法,需自己实现4.3使用值类型IDL定义编译IDL文件实现IDL接口实现值类型服务程序与客户程序4.4使用接口库定义结构管理工具编写接口库客户程序4.4.1接口库的定义接口定义也可由一个专门的服务进程来存储或管理,即把IDL文件中地对象接口定义组织成可运行的接口库服务,由该服提供对象接口的相关信息表达的信息与IDL文件完全相同,更适于动态访问常见用法:查找一个对象引用的所有IDL接口定义客户程序或对象实现利用接口库获取一个编译时未知类型的对象引用的详细接

8、口信息,从而更好地利用DII,DSI4.4.2结构接口库将接口描述看作对象,为其定义了新的接口,无需引入数据库机制层次结构库标识:用于唯一标识一个接口库对象的字符串IDL:一系列/分隔的标识符:版本号IDL:Bank/Account/deposit:1.04.4.3管理工具部署:IREP+OSAGENT客户程序:工具IR2IDL/IDL2IR开发4.5设计对象接口的准则原则典型的对象接

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。