基于對象是從面向過程向面向對象的過渡。我寫這篇小文的目的就是想盡可能多地豐富數組對象的功能。書中提到應該有的功能,原文如下:
1、數組類的實現中有內置的自我意識。首先,它知道自己的大小。
2、數組類支持數組之間的賦值、以及兩個數組之間的相等和不相等的比較操作。
3、數組類應該支持對其所含的只進行下列查詢操作:數組中最小值是什么?最大值是什么?某個特殊的值是否在數組中?如果存在,它的第一個位置的索引是什么?
4、數組類支持自排序。
除了支持數組操作,還必須支持數組本身的機制,包括:
5、能夠指定長度,以此來創建數組(這個值無需在編譯時刻知道)。
6、能夠用一組值初始化數組。
7、能夠通過索引來訪問數組中的單個元素。
8、能夠截獲并指出錯誤的索引值。
而實際上,在開發過程中,數組的功能遠不止于此。
1、能夠擴展,包括水平和垂直擴展兩方面。水平方向,自排序的關鍵字可能不止一個元素,需要多個成員才能共同確定;垂直方面,數組的成員可能是另一個數組類型的對象。這兩種擴展正是我們認識世界描述世界的基本方式。
2、能夠文檔化。把擴展后的龐大數組存在數據庫中,在需要的時候,再從數據庫中取出。如果數組成員指向某個動態庫文件中的相應的函數,則庫文件完全可以由數據庫統一管理,由代碼選擇調用。
3、能夠動態增刪成員。為了使數組對象能夠適應開發,隨時有可能根據當前需要,動態增刪成員。增是為了實現描述和處理,刪是為了節約消耗。
4、能夠查詢對數組的操作記錄和回溯。這有點像數據庫的操作,但是對一個龐大的數組對象,顯然也是需要的。不過這一點可以在文檔化時解決。
5、能夠查找符合條件而非單單是索引的數組元素。
6、可變長。
以上就是筆者當前想出來可能需要的功能。