ADT相關知識

2022-10-11 14:12:11 字數 751 閱讀 6100

在實驗中,需要使用adt。

定義:抽象資料型別(abstract data type,adt)是電腦科學中具有類似行為的特定類別的資料結構的數學模型;或者具有類似語義的一種或多種程式語言的資料型別。抽象資料型別是間接定義的,通過其上的可執行的操作以及這些操作的效果的數學約束(與可能的代價)。

adt上的操作有如下幾種:

1.creators 構造器:

利用該型別物件產生乙個新的物件,可能實現為建構函式或靜態函式(factory method)

2.producers生產器:

用已有該型別物件產生新物件,如string.concat()(連線兩個字串,產生乙個新的字串)

3.observers觀察器

如list.size()返回int(不同於原型別)

4.mutators變值器(改變物件屬性的方法)

通常為void,如果為void,則必然意味著它改變了某些物件的內部狀態,也有可能返回非空型別(如容器類的put、add方法)

在設計adt時,需要遵循下面的法則:

法則1:操作要簡潔,一致。對於複雜的操作,應該拆分成多個簡單操作的疊加,以此提高內聚性。

法則2:操作要全面(即需要的功能要可以實現),且為使用者提供方便的操作。

法則3:要不是針對抽象,要不是針對具體,不要兩者混合。因此面向具體應用的型別不應該有通用方法,面向通用的型別也不該有具體方法。

adt的特性有:表示洩露、抽象函式af、表示不變數

adt只由操作定義,與內部具體實現無關。

mysql相關知識 MySQL相關知識

字串拼接 select from tablename where mydata like concat curdate limit 3 這裡concat是字串拼接,concat mys q l mysql 顯示日期不帶時間的函式,如 2015 05 14 curdate 是日期不算時間 2015 0...

ioctl相關知識

一 什麼是ioctl ioctl是裝置驅動程式中對裝置的i o通道進行管理的函式。所謂對i o通道進行管理,就是對裝置的一些特性進行控制,例如串列埠的傳輸波特率 馬達的轉速等等。它的呼叫個數如下 int ioctl int fd,ind cmd,其中fd就是使用者程式開啟裝置時使用open函式返回的...

ioctl相關知識

略有修改 一 什麼是ioctl ioctl是裝置驅動程式中對裝置的i o通道進行管理的函式。所謂對i o通道進行管理,就是對裝置的一些特性進行控制,例如串列埠的傳輸波特率 馬達的轉速等等。它的呼叫個數如下 int ioctl int fd,ind cmd,其中fd就是使用者程式開啟裝置時使用open...