九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
COM原理筆記之二——COM對象與接口

COM原理筆記之二——COM對象與接口

 

一、             COM對象與C++對象的比較:

1、   封裝性:

COM對象的數(shù)據(jù)成員的封裝以組件模塊為最終邊界,對于對象用戶完全是透明的??蛻糁荒芡ㄟ^接口成員函數(shù)訪問對象的屬性。

雖然《COM原理》指出C++對象的封裝特性只是語義上的封裝,對于對象用戶是可見的。但是從封裝性必須滿足以下條件(有一個清晰的邊界,有確定的接口,受保護的內(nèi)部實現(xiàn))來考慮,我個人認為兩者之間并沒有太多的區(qū)別,只是表現(xiàn)形式上的不同而已。

2、   可重用性:

COM對象的可重用必表現(xiàn)在COM對象的包容與聚合,一個對象可以完全使用另一個對象的所有功能;

C++對象的可重用性主要體現(xiàn)在繼承性機制上,繼承性機制使得C++子類不僅可以重用其父類的數(shù)據(jù)結構與程序代碼,而且可在父類代碼的基礎方便地上進行修改與擴充,同時并不影響其對原有類的使用。

3、   多態(tài)性:

COM對象的多態(tài)性通過其所具有的接口才能體現(xiàn)出來。

C++對象通過虛函數(shù)與重載來體現(xiàn)。

二、             COM接口具有的一些特性:

1、   二進制特性:

接口規(guī)范并不建立在任何編程語言的基礎上,而是規(guī)定了二進制一級的標準。任何語言只要有足夠的數(shù)據(jù)表達能力,就可以對接口進行描述,從而可以用于與組件程序有關的應用開發(fā)。

2、   接口不變性:

接口是組件客戶程序和組件對象之間的橋梁,接口如果經(jīng)常發(fā)生變化,則客戶程序和組件程序也要跟著變化,這對應用系統(tǒng)的開發(fā)非常不利,也不符合組件化程序設計的思想。

3、   繼承性(擴展性)

根據(jù)COM規(guī)范,所有接口都必須從IUnknown派生,可以是直接派生,也可以是間接派生。COM不提倡接口繼承,同時接口與接口之間的繼承也只能是單繼承。

4、   多態(tài)性:

運行過程中的多態(tài)性。前面說COM對象的多態(tài)性通過COM接口來體現(xiàn),我們常常可以注意到多個不同的COM對象實現(xiàn)了同一個接口,客戶程序通過代碼便可以調用COM對象。

三、             COM對象的接口原則:

1、    對于同一個對象的不同接口指針,查詢得到的Iunknow接口必須完全相同。

2、    接口對稱性:對一個接口查詢其自身總應該成功。

3、    接口自反性:如果從一個接口指針查詢到另一個接口指針,則從第二個接口指針再回到第一個接口指針必定成功。

4、    接口傳遞性:如果從第一個接口指針查詢到第二個接口指針,從第二個接口指針可以查詢到第三個接口指針,則從第一個接口指針一定可以查詢到第三個接口指針。

5、    接口查詢時間無關性:如果在某一個時刻可以查詢到某一個接口指針,則以后任何時候查詢同樣的接口指針,一定可以查詢成功。

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
我對COM的理解
淺談COM對象的內(nèi)存布局
COM之包容與聚合
Filter和Pin是包容還是聚合關系?怎樣實現(xiàn)比較好?
COM原理及應用----命名和綁定技術
COM組件簡介【轉】
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服