Oracle物件導向編程OOP

來源:互聯網
上載者:User

自Oracle9i以來,Oracle就不再是單純的關聯式資料庫管理系統,它在關聯式資料庫模型的基礎上,添加了一系列物件導向的特性。Oracle9i就號稱物件導向資料庫。Oracle的對象體系遵從物件導向思想的基本特徵,許多概念同C++、JAVA中類似,具有繼承,重載,多態等特徵,但又有自己的特點。

為什麼要引入物件模型?組件可重用和簡化複雜的應用程式。

下面詳細介紹下Oracle物件導向編程。

1  物件導向類型TYPE

在PL/SQL語言中,物件導向的程式設計是基於物件類型。

1.1  物件導向類型定義文法

物件類型的定義包括物件類型頭(或稱為對象規範,specification)和物件類型體(body)。物件類型頭包括物件類型的屬性、函數和過程的聲明,而物件類型體則是物件類型具體的實現,即函數和過程的實現。所以如果物件類型中只有屬性,不含函數和過程的話,就只要聲明物件類型頭就可。

物件類型頭聲明文法:

      CREATE OR REPLACE TYPE type_name AS OBJECT(
              --屬性的聲明
              propertyname1    TYPE1,
              propertyname2    TYPE2,
              ...
              properynamen    TYPEn,

              --函數的聲明
              member function funcname1(param1 TYPE1, ...) return TYPE11,
              static function funcname2(param1 TYPE2, ...) return TYPE22,
              ...

              --過程的聲明
              member procedure  procname1(param1 TYPE1, ...),
              static procedure  procname2(param1 TYPE2, ...),
              ...
      );

物件類型體定義文法:

      CREATE OR REPLACE TYPE BODY type_name  --No 'AS OBJECT'
      AS  --NO 'BEGIN'
          member function funcname1 return TYPE11
          IS
            //變數定義
          BEGIN
            //處理過程
            return var1;
          END funcname1;     
          static function funcname2 return TYPE22
          IS
            //變數定義
          BEGIN
            //處理過程
            return var2;
          END funcname2;
          ...
          member procedure procname1(param1 TYPE1,...)
          IS
            //變數定義
          BEGIN
            //處理過程
          END procname1;
          static procedure procname2(param1 TYPE2,...)
          IS
            //變數定義
          BEGIN
            //處理過程
          END procname2;
          ...
      END;

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 下一頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.