252
技術社區[雲棲]
《數據結構與抽象:Java語言描述(原書第4版)》一本章小結
本節書摘來華章計算機《數據結構與抽象:Java語言描述(原書第4版)》一書中的第2章 ,[美]弗蘭克M.卡拉諾(Frank M. Carrano) 蒂莫西M.亨利(Timothy M. Henry) 著 羅得島大學 新英格蘭理工學院 辛運幃 饒一梅 譯 更多章節內容可以訪問雲棲社區“華章計算機”公眾號查看。
本章小結
- 可以使用Java數組來實現ADT包,這相對簡單,但其他的實現也是可以的。
- 在數組最後一項的後麵添加一項,不會影響已有項的位置。類似地,從數組中刪除最後的項也不會影響已有項的位置。
- 因為包不維護項的次序,所以刪除一項不需要將後續的所有數組項前移一個位置。相反,可以用數組中最後一項來替換你想刪除的項,然後將最後一項替換為null。
- 在其他方法之前標出和實現類的中心或核心方法,是一個好的策略,當你預料到這個類很長且複雜時。為其餘的方法使用存根。
- 在開發的每個階段都要測試類,特別是在添加了重要的方法後。
- 使用固定大小的數組可能得到一個滿包。
- 調整數組大小,使得它看上去能改變大小。為此,分配一個新數組,從原始數組中將項複製到數組中,使用原來的變量指向新數組。
- 調整數組大小能讓你實現集合,其內容個數僅受計算機內存大小的限製。 你應該編寫安全可靠的程序。例如,ADT包的實現,在使用之前檢查包是否完全初始化,以及它的容量不會超出給定的限度。 程序設計技巧
- 當定義一個類時,實現並測試一組核心方法。從添加到對象集合中的方法和已實現的方法入手。
- 類不應該返回指向私有數據域的數組的引用。
- 不要等到完全實現了一個ADT後才測試它。寫存根,它是所需方法的不完整定義,開發過程中可以更早地開始測試。
- 即使可能已經寫了方法的一個正確定義,但如果你想到一個更好的實現,也要毫不猶豫地修改它。肯定要再次測試方法!
- 當增大數組的大小時,將其中的項複製到更大的數組中。應該充分擴展數組,以減小複製的代價帶來的影響。通用的方法是倍增數組的大小。
- 實現了聲明ADT操作的單一接口的類,應該將定義在接口中的方法聲明為公有方法。但是,類還可以定義私有方法和保護方法。
最後更新:2017-06-26 18:02:05