對于許多軟件開發人員來說,面向對象編程是一個很好的工具。遺憾的是,使用過程C編程語言的嵌入式軟件工程師在許多現代編程語言功能上都失敗了。抽象數據類型(通常簡稱為ADT)是數據類型,其實現細節隱藏在數據結構的用戶視圖中,但ADT可以使用五個簡單步驟在C中開發。
步驟1 -定義抽象數據類型
C中的ADT通常被定義為指向結構的指針。頭文件包含沒有任何底層細節的ADT聲明,由實現者完全聲明源模塊中的ADT。 ADT的示例包括 StackPtr_t , NodePtr_t 或 QueuePtr_t 等等。下面的示例顯示了開發人員如何聲明ADT:
聲明將會發生在 stack.h 文件中,允許模塊的用戶使用 StackPtr_t ,它是指向 StackStruct_t 的指針。從用戶的角度來看, StackStruct_t 的成員的細節是完全隱藏的。任何與 StackPtr_t 的交互都必須使用預定義的操作完成。
步驟2 -定義可對數據執行的操作
可以在ADT上執行的操作完全取決于ADT的用途。例如,堆棧的ADT可能包括諸如初始化,推送數據,彈出數據,銷毀堆棧,檢查堆棧是否已滿,檢查堆棧是否為空等操作,等等。請記住,使用ADT與開發人員通常操作數據的方式完全不同。通常,開發人員會定義數據并編寫直接操作數據的代碼。使用抽象數據類型,開發人員創建一個接口,在這個接口中間接修改數據。
步驟3 -填寫接口規范
接口規范是可以在ADT上執行的所有公共操作的函數原型。接口規范應位于ADT頭文件中。回到堆棧示例,開發人員可能會發現接口規范如下所示:
步驟4 -創建實現
ADT的實現可能會從一個應用程序更改為下一個應用程序。事實上,ADT實施可能會在項目開發期間發生變化。這是使用ADT的一個很好的方面:實現細節位于源模塊中,并且從高級應用程序開發人員的視圖中“隱藏”。因此,ADT的使用為開發者提供了高度的靈活性。可以在下面找到堆棧實現的哪些部分的示例:
步驟5 -將抽象數據類型放入測試
最后,一旦開發人員指定并實現了ADT,就可以通過編寫一些應用程序代碼來進行測試。應用程序代碼應該聲明一個ADT,然后通過使用接口規范來操縱數據的內容。初始化ADT并與其數據交互的示例如下所示:
結論
C中的ADT通常分為三個不同的部分:應用程序,規范和實現。 ADT的目的是隱藏數據結構的實現細節,從而改進軟件維護,重用和可移植性。使用ADT的開發人員會發現,他們能夠快速適應不斷變化的需求并節省時間,而無需通過代碼搜索晦澀的數據引用。
-
數據類型
+關注
關注
0文章
236瀏覽量
13637 -
PCB打樣
+關注
關注
17文章
2968瀏覽量
21742 -
華強PCB
+關注
關注
8文章
1831瀏覽量
27815 -
華強pcb線路板打樣
+關注
關注
5文章
14629瀏覽量
43089
發布評論請先 登錄
相關推薦
評論