麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > Oracle > 正文

基于Oracle的面向對象技術入門基礎簡析開發者網絡Oracle

2024-08-29 13:57:11
字體:
來源:轉載
供稿:網友
正在看的ORACLE教程是:基于Oracle的面向對象技術入門基礎簡析開發者網絡Oracle。

一、概述

  對象是Oracle8i以上版本中的一個新的特性,對象實際是對一組數據和操作的封裝,對象的抽象就是類。在面向對象技術中,對象涉及到以下幾個重要的特性:

   封裝性

  通過對數據和操作的封裝,將用戶關心的數據和操作暴露出來作為接口,其他數據和操作則隱藏到對象內部,這樣便于用戶使用和維護。

   繼承性

  對象具有繼承性,通過這一特性可以增強程序的可擴展性,適合大型項目的開發。

   多態性

  同一操作在運行時刻有不同的對象來引用,則其執行結果是不一樣的。這一特性稱之為多態性。

  正是因為面向對象的諸多優勢,Oracle公司在8.0版本以后就加入了對這一特性的全面支持,下來的部分重點講述在Oracle中的面向對象程序設計。

  二、Oracle中的面向對象程序設計

  既然對象具有這么多的優點,那么在Oracle數據庫如何引用它呢?Oracle中的對象定義分兩步進行:

  首先定義對象類型。定義對象類型跟定義包類型完全一樣,即分為對象類型頭(或稱為對象規范,specification)和對象類型體(body)。對象類型頭包括了對象類型的屬性和方法的聲明,而對象類型體則包含了對象類型具體的實現。

  例如,定義一個empObj對象類型,代碼如下:


  特別需要注意的是,如果對象沒有成員函數部分,那么此對象類型的定義只有對象類型頭部分。

  然后定義對象實例。定義了對象類型后就可以直接定義它的實例了,比如定義一個empObj實例對象,代碼如下:


  經過這兩步之后就可以引用對象實例的屬性和方法了,引用符號為“.”,比如


  另外,在初始化無成員函數的對象時可以直接以構造函數的形式進行初始化,注意,這個時候不需顯式的定義構造函數。比如,初始化上面v_empObj1對象(假設無成員函數的情況下才能進行這種初始化操作), 代碼如下:


  由于Oracle數據庫是關系型數據庫,其存儲數據是以二維表的形式進行的,而對象是對數據和操作進行封裝的一個實體,其存儲信息往往是多維信息,那么對象在Oracle數據庫中的存儲是如何進行的呢?(這里補充一點,PL/SQL程序塊中聲明的對象是臨時對象,在超出其作用區域后系統將自動收回其分配的資源,但是如果需要保存對象的信息,就必須將其存儲在數據庫中)

  事實上,對象在Oracle數據庫中的存儲形式分為兩種:

  1. 對象列。即可以將數據表中的列的數據類型定義為一個對象類型,這樣對象就可以存儲在數據列中了。比如定義一個表table1,其中emp列可以用來存儲對象。


  2. 對象行。即可以創建一個對象表,其中每一列就表示對象中的一個屬性,這樣一條行記錄就是一個對象了。比如定義一個emp表如下:


  這樣emp表的一個記錄就是一個empObj對象,插入一個表的操作就可以為:


  注意,這里表中列類型與對象的屬性類型應該一一對應,另外這樣存儲將忽略對象的成員函數的信息。

[NextPage] 三、對象操作與比較

  可以采用DML語句對對象進行操作,其操作的語法跟一般的數據類型完全一樣,比如在table1表中返回對象為empObj(10002,'mike',3000)的記錄:


  如果需要進行對象的大小比較,那么用一般的方法就很難處理,畢竟對象含有一組屬性,無法進行組合比較??梢圆捎孟驅ο蠹尤雖ap方法和order方法來解決此問題,前者是通過將對象某一屬性返回代表對象的值班來比較大小,后者是通過比較兩個對象之間某個屬性的值班來獲取對象的大小。由于兩者的相似性,這里以用途更廣的map成員函數為為例示范如下:


  這樣定義了map函數后,對empObj對象大小的比較實質轉化為對各個對象的emp_id屬性大小的比較,在實際操作中,應該根據實際情況來返回關心的數據,以進行對象大小比較的操作。

  四、小結

  通過前面內容的介紹,大家應該對Oracle數據庫的面向對象的特性有一個初步的認識,充分利用Oracle的這一特性,可以將面向對象的重用性,可擴展性等優點引入到數據庫中,提高了數據庫的運行性能。 

上一頁    

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产成人精品日本亚洲语音 | 亚州视频在线 | 一本视频在线观看 | 青草视频在线观看视频 | 2019天天干夜夜操 | 污片视频网站 | 成人在线观看地址 | 成人免费一区二区 | 超碰97国产在线 | 免费看欧美一级特黄a大片 久久免费视频一区二区三区 | 欧美日韩在线视频一区 | 色综合狠狠| 成人免费福利网站 | 成人免费福利网站 | 国产v综合v亚洲欧美久久 | 成人一级毛片 | 国产精品久久久久久久久久10秀 | 欧美成视频在线观看 | 狠狠干伊人网 | 一区二区三区欧美在线 | 亚洲天堂一级片 | 色污视频在线观看 | 亚洲精品一区国产精品丝瓜 | 日韩激情 | 久久情爱网| 日本黄色免费观看视频 | sese在线视频 | 国产资源在线免费观看 | 国产精品一区二区三区在线看 | 少妇色诱麻豆色哟哟 | 亚洲福利视 | 成人不卡 | 国产资源在线播放 | 九一成人 | 国产99久久久国产精品下药 | 成品片a免人视频 | 色视频在线观看 | 欧美日韩一区二区综合 | 中文字幕一二三区芒果 | 福利在线免费视频 | 成人免费毛片片v |