天天看點

《C++面向對象高效程式設計(第2版)》——3.18 客戶對類和函數的責任

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

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

設計優秀且文檔完備的類隻有在客戶使用時才有用。以上所有的讨論旨在滿足客戶的要求和需求,另一方面,客戶也有自己的責任。客戶必須記住以下所列的幾點。再者,還需記住,在軟體世界中,我們中的大多數人同時扮演着客戶和實作者的角色。

(1)了解類的用途。即使類的名稱可以表明它的用途,但文檔中可能還會有其他的建議。類的名稱所傳達的資訊非常有限。

(2)清楚地了解類的實作者希望從客戶方面獲得什麼。在客戶和實作者之間有一個契約。

(3)注意每個成員函數,特别是<code>const</code>成員函數——它們比較安全。

(4)了解傳遞的參數。當類采用參數時要小心,絕不傳遞局部對象(棧對象)的位址給采用對象的函數。

(5)當函數傳回指針和引用時,了解你的責任是什麼。特别要了解對存儲區的責任。

(6)如果類的文檔和頭檔案中的資訊不同,在使用類之前,要區分哪一個是正确的。

(7)優先使用以指向<code>const</code>的指針和對<code>const</code>的引用作為參數的函數,這些函數比較安全。

(8)不管類的實作者是誰,不要依賴他告訴你的任何非文檔說明的類細節。要堅持使用類接口和說明文檔。

(9)要提防那些連最小成員函數集合(構造函數、複制構造函數、指派操作符和析構函數)都尚未實作的類。

我們将在後續章節介紹更多關于客戶責任的内容。

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

繼續閱讀