温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java的类型方法有哪些

发布时间:2022-01-05 17:50:04 来源:亿速云 阅读:148 作者:iii 栏目:编程语言

本篇内容介绍了“Java的类型方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

类型(Type

类型接口表达了一个数据对象模型或者数据类型的普通视图。

大多数编程语言或者数据建模语言都有数据类型概念;SDO类型与其它数据类型类似。除非该类型为一个简单数据类型,否则一个SDO类型均有一个属性对象集合。

SDO类型到编程语言和数据建模语言类型的映射

Java, C++, UML 或者 EMOF

  • 可以使用SDO类型表达类。

  • 类的每一个属性可以表达为一个SDO属性。

XML Schema

  • 可以使用SDO类型表达复杂或简单类型。

  • 元素和属性可以使用SDO属性表达。

C结构体

  • 可以使用SDO类型表达C结构体。

  • 结构体的每一个域可以使用SDO属性表达。

关系数据库

  • 表可以表达为一个SDO类型。

  • 列可以表达为一个SDO属性。

上述领域均共享某些概念,SDO类型和属性接口表达了上述概念的一个小子集。这些接口对于数据对象编程者来说是有用的,因为其需要内省运行期的数据形状和本质。

表达所有特定领域信息的比较完整的元模型API(例如,XML Schema或者EMOF)超出了本规范的范围。

类型内容

一个类型总是有:

  • 名字——同一个URI内类型之间的一个唯一的字符串。

  • URI——一个包的逻辑URI或者是一个目标命名空间,这取决于你的观点。

  • 用于指明该类型为开放的、抽象的、顺序的、还是一个数据类型的布尔型域。

一个类型可能拥有:

  • 属性——由该类型定义的属性对象列表。与简单数据类型一致的类型则没有定义属性。

  • 实例类——用来实现SDO类型的java.lang.Class

如果DataType为真,那么一个类型必须拥有一个实例类。例如象java.lang.Integer java.lang.String这样的类。

如果DataType为假,并且使用了由代码生成器生成的代码,那么一个实例类是可选的。例如象PurchaseOrderCustomer这样的类。

  • 别名——包含额外名字的字符串。在同一个URI内,别名必须是唯一的。

类型上所有基于名字进行操作的方法也可以使用别名进行操作。例如,一个类型可以被赋予一个该领域的别名:一个名为PurchaseOrderTypeXML Schema,一个JavaPurchaseOrder和一个数据库表名PRCHORDR

名字的唯一性

在一个URI内,类型名字和类型别名都是唯一的。在一个类型和任何一个基础类型内,属性名和属性别名都是唯一的。

SDO数据类型

SDO为其所支持的普通数据类型定义了类型(Type),以便于在定义服务使用的类型和属性时保持一致。详细内容参见“Standard SDO Types” 章节。

多重继承

通过允许多个基础类型,类型(Type)支持多重继承。使用多重继承时,使用getProperties()方法获得的属性顺序可以不同于一个类型和基础类型的顺序。

类型方法

  • getName()方法返回一个类型名字。

  • getURI方法返回该类型的URI

  • getInstanceClass()方法返回实现SDO类型的类。

  • 如果指定的对象是该类型的实例,isInstance(Object object)方法将返回真。

  • 如果该类型用于描述DataType,那么isDataType()方法返回真,如果其用于描述DataObject,则返回假。

  • 如果该类型描述了顺序型数据对象,那么isSequenced()方法返回真,当其为真时,数据对象能够返回一个顺序(Sequence)。

  • 如果该类型允许开放内容,那么isOpen()方法返回真。如果返回值为假,那么dataObject.getInstanceProperties()返回值必定与该类型的任何一个数据对象的dataObject.getType().getProperties()方法返回值相同。

  • 如果类型是抽象的,那么isAbstract()方法返回真,并且该类型不能被实例化。抽象类型不能够用在数据对象或数据工厂(DataFactory)的创建方法中。抽象类型常被用作实例化类型的基础类型。

  • getBaseTypes()方法将返回该类型的基础类型列表。如果没有基础类型,该列表为空。XSD,Java“extends”关键字被映射到基础类型列表。

  • getAliasNames()返回该类型的别名列表。如果没有别名,则该列表为空。

  • getProperties()方法返回该类型的所有属性,包括那些在基础类型中声明的属性。

  • getDeclaredProperties()方法用于获取该类型中声明的属性,对基础类型中声明的属性无效。

  • getProperty(String propertyName)方法返回一个特殊的属性,在没有指定名称的属性时返回null

类型接口

public interface Type

{

String getName();

String getURI();

Class getInstanceClass();

boolean isInstance(Object object);

boolean isDataType();

boolean isSequenced();

boolean isOpen();

boolean isAbstract();

List /*Type*/ getBaseTypes();

List /*String*/ getAliasNames();

List /*Property*/ getProperties();

List /*Property*/ getDeclaredProperties();

Property getProperty(String propertyName);

}

“Java的类型方法有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI