天天看點

《C++面向對象高效程式設計(第2版)》——3.10 設計期間的重點——類的接口

本節書摘來自異步社群出版社《c++面向對象高效程式設計(第2版)》一書中的第3章,第3.10節,作者: 【美】kayshav dattatri,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

c++面向對象高效程式設計(第2版)

在第2章中讨論了接口和實作的概念,現在來進一步學習它們。當客戶(任何使用類建立對象或通過繼承使用類建立另一個類的人)檢視類時,最關心的是類中聲明的内容。更具體地說,如果客戶隻準備建立類的對象(大多數客戶都會這樣做),他會注意public區域;如果客戶試圖通過類的繼承建立(設計)一個新類,他會注意public和protected區域,這種情況下,無需過多關注private區域。

通過觀察類的公有成員函數,客戶可獲知能對類對象進行的絕大多數操作。這些成員函數隻是客戶通過對象進行操作的工具。例如,回顧第2章中的影碟播放機,使用者(客戶)通過檢視影碟機面闆上的按鈕,即可獲知能對影碟機進行哪些操作。這些按鈕類似于影碟播放機抽象的成員函數,它們應該能讓客戶明白播放機可以做些什麼。但同時我們也不要提供過多的按鈕(或控件),那會讓使用者很困惑。再者,每個按鈕應該清楚地表達各自的用途。為了讓客戶對播放機有統一的印象,一個按鈕應該有且僅有一個用途。但是,有時僅根據面闆上的按鈕名可能難以了解(和使用)某些特殊的按鈕,這時就要查閱使用者手冊。使用者手冊中會詳細完整地描述每個按鈕和控件的功能。同樣,設計良好的類也需要一個文檔,用于描述每個成員函數的用法。這些都是設計良好接口的關鍵。與此類似,我們與人初次見面,會對他/她有第一印象(友好、敵對、膚淺等),接下來的交談将直接受第一印象的影響。由此可見,設計良好的類應該對它的客戶友好。下一節,我們将初步介紹一些設計良好接口的關鍵要素。

本文僅用于學習和交流目的,不代表異步社群觀點。非商業轉載請注明作譯者、出處,并保留本文的原始連結。

繼續閱讀