本節書摘來自異步社群出版社《c++面向對象高效程式設計(第2版)》一書中的第章,第2.3節,作者: 【美】kayshav dattatri,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。
c++面向對象高效程式設計(第2版)
如果能了解接口的概念,就很容易了解實作。接口告訴客戶可以做什麼,實作則負責如何做,所有的工作都在實作中完成。客戶無需了解類如何實作接口所提供的操作。是以,實作用于支援由對象表現的接口。繼續用汽車的例子來說明,化油器(或噴油嘴)是支援節流閥裝置的接口。與此類似,速度傳感裝置用于支援速度表,速度表是顯示汽車速度的接口1。雷射束和馬達都是影碟播放機實作的一部分,它們用于從影碟中提取編碼資訊。從以上的分析可知,使用接口并不需要了解實作。實際上,使用接口的使用者不了解内部實作反而會更安全些,部分(甚至完全)了解實作可能導緻黑客代碼突破接口或實作的障礙。另外,單一接口可由不同實作支援,不同接口可由單一實作2支援。在後面的章節中,将詳細介紹這方面内容。