數據抽象語言

以抽象數據類型為特徵的語營。

數據抽象語言

抽象是人類在認識複雜現象的過程中使用的最有力的思維方法。抽象過程是計算機套用於現實世界的基礎。數據抽象語言基於模組分解的方法,使用在Simula67中依頓於“類型”概念的數據結構。因此,抽象化/模組化是它的基本屬性之一。面向抽象數據類型是現代計算機語言的重要發展趨勢之一。諸如,CLU、Euclid、Mesa、Ada和並發 Pascal等語言都屬於數據抽象語言。

和甚高級語言相反,數據抽象語言可看作是達到更高級、更抽象程式的一種“自底向上”的方法。目標是提供一個結構,即類型定義,便於讓程式設計師能夠使用自展本身達到更高一級。

相關概念

數據操縱語言

資料庫管理系統提供給用戶用以存儲、檢索、修改、刪除數據的語言。它通常由一組操縱數據的語句組成,大致可分為下列四類:

(1)檢索語句:這些語句執行查找數據元素,將結果到主存儲器。

(2)修改語句:更新或刑除數據。

(3)存儲語句:增加資料庫中的記錄。

(4)控制語句:發出要訪問的特定子模式的信號並完成對數據的存取。

數據操縱語言可分兩類:

(1)可以獨立使用的語言稱為自容式數據語言,通常亦稱為查詢語言,例如SQL、QUEL等。

(2)對數庫中的數據進行操縱的語句是嵌入於其它高級語言(例如COBOL、PL/1)之中的,則稱為宿主式數據語言。被嵌入的高級語言就稱為該數據操縱語言的宿主語言。

抽象

抽象是對於一個實體的表示,它只包括在特定的環境內這個實體的重要屬性。抽象允許人們將實體的實例收集成為一些組,在這些組中它們的共同屬性就不需要考慮,這些共同屬性已經被抽象出來。在這些組裡面,只需考慮區別單個元素的屬性。這大大簡化了組中的元素。當有必要看到更多的細節時,必須考慮這些實體的較低抽象水平的表示。抽象是對抗程式設計複雜性的一種武器,其目的是要簡化程式設計的過程。這是一種有效的武器,因為它允許編程人員將注意力集中於重要屬性,而忽略次要的屬性。

當代程式設計語言中基本的兩類抽象為過程抽象和數據抽象。

過程抽象

過程抽象的概念是程式設計語言的設計中最老的概念之一。甚至 Plankalkul也曾經支持了過程抽象。所有子程式都是過程抽象,因為它們提供了一種方式,讓一個程式說明要完成的某些過程,而不要提供如何來完成的細節(至少是在調用程式中)。例如,當一個程式需要將某種類型的數值數據對象數組排序時,它通常使用一個子程式來進行這種排序過程。在程式中需要進行排序的位置,一條像下面這樣的語句

sort_int (list, list_len)

被放置於程式內。這個調用是實際排序過程的一種抽象,其算法則不在此被說明。這種調用獨立於被調用程式中的算法實現。

在子程式 sort_int的情形,其重要屬性是:將要被排序的數組名字、它的元素的類型、數組的長度以及對於 sort_int的調用將導致數組被排序的這個事實。sort_int所實現的算法是一個對用戶並不重要的屬性。

過程抽象對於程式設計過程十分關鍵。這種將子程式中的算法的許多細節抽象出來的能力,使得人們有可能來構造、閱讀和理解大程式。記住:現在被認為的大程式,必須至少具有好幾十萬行代碼。

所有的子程式,包括並發了程式和異常處理程式都是過程抽象。

數據抽象必然跟隨著過程抽象的發展而發展,因為每一種數據抽象中的一個不可分割的中心部分都是操作,而操作被定義成為過程抽象。

相關詞條

熱門詞條

聯絡我們