溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java的類型方法有哪些

發(fā)布時間:2022-01-05 17:50:04 來源:億速云 閱讀:150 作者:iii 欄目:編程語言

本篇內(nèi)容介紹了“Java的類型方法有哪些”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

類型(Type

類型接口表達了一個數(shù)據(jù)對象模型或者數(shù)據(jù)類型的普通視圖。

大多數(shù)編程語言或者數(shù)據(jù)建模語言都有數(shù)據(jù)類型概念;SDO類型與其它數(shù)據(jù)類型類似。除非該類型為一個簡單數(shù)據(jù)類型,否則一個SDO類型均有一個屬性對象集合。

SDO類型到編程語言和數(shù)據(jù)建模語言類型的映射

Java, C++, UML 或者 EMOF

  • 可以使用SDO類型表達類。

  • 類的每一個屬性可以表達為一個SDO屬性。

XML Schema

  • 可以使用SDO類型表達復雜或簡單類型。

  • 元素和屬性可以使用SDO屬性表達。

C結構體

  • 可以使用SDO類型表達C結構體。

  • 結構體的每一個域可以使用SDO屬性表達。

關系數(shù)據(jù)庫

  • 表可以表達為一個SDO類型。

  • 列可以表達為一個SDO屬性。

上述領域均共享某些概念,SDO類型和屬性接口表達了上述概念的一個小子集。這些接口對于數(shù)據(jù)對象編程者來說是有用的,因為其需要內(nèi)省運行期的數(shù)據(jù)形狀和本質。

表達所有特定領域信息的比較完整的元模型API(例如,XML Schema或者EMOF)超出了本規(guī)范的范圍。

類型內(nèi)容

一個類型總是有:

  • 名字——同一個URI內(nèi)類型之間的一個唯一的字符串。

  • URI——一個包的邏輯URI或者是一個目標命名空間,這取決于你的觀點。

  • 用于指明該類型為開放的、抽象的、順序的、還是一個數(shù)據(jù)類型的布爾型域。

一個類型可能擁有:

  • 屬性——由該類型定義的屬性對象列表。與簡單數(shù)據(jù)類型一致的類型則沒有定義屬性。

  • 實例類——用來實現(xiàn)SDO類型的java.lang.Class。

如果DataType為真,那么一個類型必須擁有一個實例類。例如象java.lang.Integer java.lang.String這樣的類。

如果DataType為假,并且使用了由代碼生成器生成的代碼,那么一個實例類是可選的。例如象PurchaseOrderCustomer這樣的類。

  • 別名——包含額外名字的字符串。在同一個URI內(nèi),別名必須是唯一的。

類型上所有基于名字進行操作的方法也可以使用別名進行操作。例如,一個類型可以被賦予一個該領域的別名:一個名為PurchaseOrderTypeXML Schema,一個JavaPurchaseOrder和一個數(shù)據(jù)庫表名PRCHORDR。

名字的唯一性

在一個URI內(nèi),類型名字和類型別名都是唯一的。在一個類型和任何一個基礎類型內(nèi),屬性名和屬性別名都是唯一的。

SDO數(shù)據(jù)類型

SDO為其所支持的普通數(shù)據(jù)類型定義了類型(Type),以便于在定義服務使用的類型和屬性時保持一致。詳細內(nèi)容參見“Standard SDO Types” 章節(jié)。

多重繼承

通過允許多個基礎類型,類型(Type)支持多重繼承。使用多重繼承時,使用getProperties()方法獲得的屬性順序可以不同于一個類型和基礎類型的順序。

類型方法

  • getName()方法返回一個類型名字。

  • getURI方法返回該類型的URI。

  • getInstanceClass()方法返回實現(xiàn)SDO類型的類。

  • 如果指定的對象是該類型的實例,isInstance(Object object)方法將返回真。

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

  • 如果該類型描述了順序型數(shù)據(jù)對象,那么isSequenced()方法返回真,當其為真時,數(shù)據(jù)對象能夠返回一個順序(Sequence)。

  • 如果該類型允許開放內(nèi)容,那么isOpen()方法返回真。如果返回值為假,那么dataObject.getInstanceProperties()返回值必定與該類型的任何一個數(shù)據(jù)對象的dataObject.getType().getProperties()方法返回值相同。

  • 如果類型是抽象的,那么isAbstract()方法返回真,并且該類型不能被實例化。抽象類型不能夠用在數(shù)據(jù)對象或數(shù)據(jù)工廠(DataFactory)的創(chuàng)建方法中。抽象類型常被用作實例化類型的基礎類型。

  • 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的類型方法有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網(wǎng)站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI