新聞中心
C++接口用來定義一種程序的協(xié)定。實現(xiàn)接口的類或者結構要與接口的定義嚴格一致。本文我們來了解顯式實現(xiàn)C#接口成員的主要方法,下面進行詳細說明介紹。

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設,合浦企業(yè)網(wǎng)站建設,合浦品牌網(wǎng)站建設,網(wǎng)站定制,合浦網(wǎng)站建設報價,網(wǎng)絡營銷,網(wǎng)絡優(yōu)化,合浦網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
映射,數(shù)學上表示一一對應的函數(shù)關系。C++接口映射的含義也是一樣,接口通過類來實現(xiàn),那么對于在接口中定義的每一個成員,都應該對應著類的一個成員來為它提供具體的實現(xiàn)。
類的成員及其C++接口映射成員之間必須滿足下列條件:
◆如果A和B都是成員方法,那么A和B的名稱、類型、形參表(包括參數(shù)個數(shù)和每一個參數(shù)的類型)都應該是一致的。
◆如果A和B都是屬性,那么A和B的名稱、類型應當一致,而且A和B的訪問器也是類似的。但如果A不是顯式接口成員執(zhí)行體,A允許增加自己的訪問器。
◆如果A和B都是時間那么A和B的名稱、類型應當一致。
◆如果A和B都是索引指示器,那么A和B的類型、形參表(包括參數(shù)個數(shù)和每一個參數(shù)的類型)應當一致。而且A和B的訪問器也是類似的。但如果A不是顯式接口成員執(zhí)行體,A允許增加自己的訪問器。
那么,對于一個C++接口成員,怎樣確定由哪一個類的成員來實現(xiàn)呢?即一個接口成員映射的是哪一個類的成員?在這里,我們敘述一下接口映射的過程。假設類C實現(xiàn)了一個接口IInterface,Member是接口IInterface中的一個成員,在定位由誰來實現(xiàn)接口成員Member,即Member的映射過程是這樣的:
1、如果C中存在著一個顯式接口成員執(zhí)行體,該執(zhí)行體與接口IInterface 及其成員Member相對應,則由它來實現(xiàn)Member 成員。
2、如果條件(1)不滿足,且C中存在著一個非靜態(tài)的公有成員,該成員與接口成員Member相對應,則由它來實現(xiàn)Member 成員。
3、如果上述條件仍不滿足,則在類C定義的基類列表中尋找一個C 的基類D,用D來代替C。
4、重復步驟1-3 ,遍歷C的所有直接基類和非直接基類,直到找到一個滿足條件的類的成員。
5、如果仍然沒有找到,則報告錯誤。
下面是一個調(diào)用基類方法來實現(xiàn)接口成員的例子。類Class2 實現(xiàn)了C++接口Interface1,類Class2 的基類Class1 的成員也參與了接口的映射,也就是說類Class2 在對接口Interface1進行實現(xiàn)時,使用了類Class1提供的成員方法F來實現(xiàn)接口Interface1的成員方法F:
網(wǎng)頁名稱:實現(xiàn)C++接口映射淺析
當前URL:http://fisionsoft.com.cn/article/cohggdh.html


咨詢
建站咨詢
