《面向?qū)ο缶幊獭稰PT課件.ppt
《《面向?qū)ο缶幊獭稰PT課件.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《《面向?qū)ο缶幊獭稰PT課件.ppt(16頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
PL/SQL從入門到精通視頻,第十七講:面向?qū)ο蟮木幊?課程安排,對(duì)象基礎(chǔ)定義對(duì)象類型管理對(duì)象表管理對(duì)象類型,對(duì)象基礎(chǔ),面向?qū)ο蠛?jiǎn)介什么是對(duì)象類型PL/SQL中對(duì)象的組成結(jié)構(gòu),類與對(duì)象的示意圖,對(duì)象類型與對(duì)象實(shí)例,PL/SQL中對(duì)象的組成結(jié)構(gòu),在PL/SQL中,可以定義如下幾種類型的方法:構(gòu)造方法:該方法類似于Java、C#等語(yǔ)言中的構(gòu)造函數(shù),用來(lái)初始化一個(gè)對(duì)象類型并返回對(duì)象的實(shí)例。MEMBER方法:該方法允許對(duì)象的實(shí)例進(jìn)行調(diào)用,在MEMBER方法中可以訪問(wèn)對(duì)象實(shí)例的數(shù)據(jù),通常稱為實(shí)例方法或成員方法。STATIC方法:該方法可以直接在對(duì)象類型上進(jìn)行調(diào)用,它用于在對(duì)象類型上執(zhí)行全局操作,通常稱為靜態(tài)方法。MAP方法:用于在多個(gè)對(duì)象間排序的映射方法。ORDER方法:用于在2個(gè)對(duì)象實(shí)例間排序的排序方法。,定義對(duì)象類型,由于對(duì)象類型規(guī)范和對(duì)象類型體的隔離特性,在定義對(duì)象類型時(shí),必須先定義對(duì)象類型規(guī)范,定義語(yǔ)法如下所示:CREATEORREPLACETYPEtype_nameAUTHIDCURRENT_USER|DEFINERIS|ASOBJECT|UNDERsupertype_name(attribute_namedatatype,attribute_namedatatype.MAP|ORDERMEMBERfunction_spec,FINAL|NOTFINALMEMBERfunction_spec,INSTANTIABLE|NOTINSTANTIABLEMEMBERfunction_spec,MEMBER|STATICsubprogram_spec|call_spec,MEMBER|STATICsubprogram_spec|call_spec.)FINAL|NOTFINALINSTANTIABLE|NOTINSTANTIABLE;,定義對(duì)象體,CREATEORREPLACETYPEBODYtype_nameIS|ASMAP|ORDERMEMBERfunction_body;|MEMBER|STATICsubprogram_body|call_spec;MEMBER|STATICsubprogram_body|call_spec;.END;,定義屬性,在定義對(duì)象類型的屬性時(shí),必須要了解一些屬性定義的限制:屬性的聲明必須是在方法的聲明以前,也就是說(shuō)在對(duì)象規(guī)范中CREATETYPE下面的聲明必須最先是屬性的定義。屬性的數(shù)據(jù)類型必須是Oracle數(shù)據(jù)庫(kù)類型,不能是任何PL/SQL類型或者是PL/SQL自定義類型,但是排除了Oracle中的ROWID、UROWID、LONG、LONGRAW、NCHAR、NCLOB、NVARCHAR2類型。在定義屬性時(shí)不能對(duì)屬性應(yīng)用NOTNULL約束或者是使用DEFAULT指定默認(rèn)值。在一個(gè)對(duì)象類型中至少要定義一個(gè)屬性,但是不能大于1000個(gè)屬性。,定義方法,對(duì)象方法是在對(duì)象規(guī)范定義中使用MEMBER或STATIC聲明在對(duì)象說(shuō)明部分的子程序,它們是在屬性聲明之后進(jìn)行的,MEMBER和STATIC的區(qū)別如下所示:MEMBER方法:成員方法是基于對(duì)象實(shí)例調(diào)用的,而不是基于對(duì)象類型調(diào)用的。STATIC方法:靜態(tài)方法獨(dú)立于對(duì)象實(shí)例,也不能在對(duì)象類型主體中引用這個(gè)對(duì)象的屬性。,其他對(duì)象要點(diǎn),使用SELF關(guān)鍵字定義構(gòu)造函數(shù)為對(duì)象提供初始化功能,以避免許多具有特別用途的過(guò)程只初始化對(duì)象的不同部分,可以通過(guò)構(gòu)造函數(shù)進(jìn)行統(tǒng)一初始化??梢栽跇?gòu)造函數(shù)中為某些屬性提供默認(rèn)值,這樣就能確保屬性值的正確性,而不必依賴于調(diào)用者所提供的每一個(gè)屬性值。出于維護(hù)性的考慮,在新的屬性添加到對(duì)象中時(shí),避免要更改調(diào)用構(gòu)造函數(shù)的應(yīng)用程序中的代碼,這樣可以使已經(jīng)存在的構(gòu)造函數(shù)調(diào)用繼續(xù)工作。定義MAP和ORDER方法MAP方法:該函數(shù)會(huì)將對(duì)象實(shí)例根據(jù)一定的調(diào)用規(guī)則返回DATE、NUMBER、VARCAHR2類型的標(biāo)量類型,在映射對(duì)象類型為標(biāo)量函數(shù)后,就可以通過(guò)對(duì)標(biāo)量函數(shù)的比較來(lái)得到結(jié)果了。ORDER方法:ORDER方法只能對(duì)2個(gè)對(duì)象之間進(jìn)行比較,必須是返回?cái)?shù)值型結(jié)果的函數(shù),根據(jù)結(jié)果返回正數(shù)、負(fù)數(shù)或零。該方法只有2個(gè)參數(shù),SELF和另一個(gè)要比較的對(duì)象類型,如果傳遞該參數(shù)為NULL,則返回NULL。,使用對(duì)象類型,聲明對(duì)象初始化對(duì)象調(diào)用對(duì)象方法,對(duì)象繼承,類繼承結(jié)構(gòu),方法重載,在介紹子程序和包時(shí),討論過(guò)重載的技術(shù),所謂的重載就是定義一個(gè)或多個(gè)具有同名的函數(shù)或過(guò)程,但是參數(shù)類型名個(gè)數(shù)不同,由編譯器根據(jù)調(diào)用參數(shù)確定執(zhí)行哪一個(gè)子程序。這種重載方式有時(shí)候也稱為靜態(tài)多態(tài)。在使用對(duì)象繼承時(shí),也可以使用方法重載。但是這種方法重載不同于過(guò)程或包中的重載,這種重使用了動(dòng)態(tài)方法調(diào)用的能力,也稱為動(dòng)態(tài)多態(tài)或運(yùn)行時(shí)多態(tài)。也就是說(shuō)具體的調(diào)用方法不是在編譯時(shí)確定的,而是在代碼實(shí)際執(zhí)行時(shí)才確定的重載。,性格決定命運(yùn),專注成就人生,源智天下,- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 面向?qū)ο缶幊? 面向 對(duì)象 編程 PPT 課件
鏈接地址:http://www.szxfmmzy.com/p-11596110.html