1.數據類型
數據類型(data type)是一個值的集合和定義在這個值集上的一組操作的總稱。
- 原子類型:如語言的整形、字符型等標准類型及指針等簡單的導出類型和空類型。
- 結構類型:其值是由若干成分按某種結構組成的,因此是可以分解的,並且它的成分可以是非結構的,也可以是結構的,通常是由標准類型派生的。例如,C/C++中的數組、結構等類型。
2.抽象數據類型(abstract data type, ADT)
抽象數據類型是指一個數學模型以及定義在該模型上的一組操作。它通常是指對數據的某種抽象,定義了數據的取值范圍及其結構形式,以及對數據的操作的集合。
“抽象”的意義在於數據類型的數學抽象特性。
3.抽象數據類型的描述方法
(D,S,P)
D是數據對象,S是D上的關系集,P是對D的基本操作集。
4.抽象數據類型一般可以由數據對象、數據關系及基本操作來定義。
ADT 抽象數據類型
{
數據對象(數據對象的定義)
數據關系(數據關系的定義)
基本操作(基本操作的定義)
}ADT 抽象數據類型名
其中,數據對象和數據關系的定義用集合描述,基本操作的定義格式為
返回類型 基本操作名(參數表)
5.對於每個操作,包含下列5個基本要素:
- 輸入
- 前置條件
- 過程
- 輸出
- 后置條件
7.面向對象的程序設計(OPP)方法。
在面向對象程序設計語言中,借助對象描述抽象數據類型,存儲結構的說明和操作函數的說明被封裝在一個整體結構中,這個整體結構稱為類(class),屬於某個類的具體變量稱為對象(object)。
8.ADT和類的概念實際上反映了程序或軟件設計的兩層抽象:ADT相當於是在概念層(抽象層)上描述問題,而類相當於是在實現層上描述問題。
抽象數據類型與C++中類的對應關系如下:
抽象數據類型——類
數據對象——數據成員(屬性)
基本操作——成員函數(方法)