日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

基本對象概念

本章講述如何在SPL中使用面向對象的編程技術。

正如在Java和C++等編程語言中所了解的,面向對象的編程著重于對象的概念。對象是現實世界實體的表示形式,如個人、地點或事物。對特定對象(如個人)的統一描述或定義稱為對象類型。特定的人(如“Joe”或“Sally”)就是所謂的對象類型的對象“個人”,相當于對象類型的實例“個人”,或簡單地說就是“個人對象”。

注意事項

本文檔中在此之前所使用的術語“數據庫對象”和“對象”不應與本章中使用的對象類型和對象相混淆。這些術語以前的用法與可在數據庫中創建的實體(如表、視圖、索引、用戶等)有關。在本章的上下文中,對象類型和對象是指SPL編程語言支持的特定數據結構,用于實現面向對象的概念。

在Oracle中,抽象數據類型 (ADT) 用于描述 PL/SQL 中的對象類型。對象類型的SPL實現旨在與Oracle抽象數據類型兼容。

PolarDB PostgreSQL版(兼容Oracle)還沒有實現對面向對象的編程語言的某些功能的支持。本章僅介紹已實現的一些功能。

概念

對象類型是對某一實例的描述或定義。對象類型的定義分為兩部分:

  • 屬性:描述對象實例的特定特點的字段。對于個人對象,屬性示例可能包括姓名、地址、性別、出生日期、身高、體重、眼睛顏色、職業等。

  • 方法:對對象執行某種類型的功能或操作或與對象相關的程序。對于個人對象,方法示例可能包括計算個人年齡、顯示個人特征、更改分配給個人特征的值,等等。

屬性

每個對象類型必須至少包含一個屬性。屬性的數據類型可以是以下任意一種:

  • 基本數據類型,如NUMBER、VARCHAR2等。

  • 其他對象類型。

  • 全局定義的集合類型(由CREATE TYPE命令創建),如嵌套表或動態數組。

屬性在最初創建對象實例時獲取其初始值(可能是空值)。每個對象實例都有其自己的一組屬性值。

方法

方法是對象類型中定義的SPL存儲過程或函數。方法可分為三種常規類型:

  • 成員方法:在對象實例的上下文中運行的存儲過程或函數。成員方法可訪問它們運行所在的對象實例的屬性,并且可更改這些屬性。

  • 靜態方法:獨立于任何特定對象實例運行的存儲過程或函數。靜態方法無法訪問并且無法改變對象實例的屬性。

  • 構造函數方法:用于創建對象類型的實例的函數。默認構造函數方法始終在定義對象類型時提供。

重載方法

在對象類型中,允許定義兩個或多個具有相同類型(這是存儲過程或函數)但具有不同特征的同名方法。此類方法稱為重載方法。

方法的特征由形參的數量、數據類型及其順序組成。