討論區快速選單
知識庫快速選單
網路投保旅行平安險 政府補助!學嵌入式+物聯網 討論區最近新進100則主題
[ 回上頁 ] [ 討論區發言規則 ]
介面與虛擬函式的區別...???
更改我的閱讀文章字型大小
作者 : (Gain)
[ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2001/3/12 下午 01:56:36
各位高手...
小弟直一搞不清楚..com中所講的介面(interface)與c++中所提的虛擬函式(virtural function)的差別與關連.....
請各位高手指點迷津....感激不盡..
作者 : (sorry)
[ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2001/3/17 上午 08:20:47
COM的interface其實對應到的是pure virtual function
因為interface是一份契約
只有宣告沒有實做
而virtual function是可以實做或被改寫
作者 : (無名士)
[ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2001/3/19 下午 09:50:17
>COM的interface其實對應到的是pure virtual function
>因為interface是一份契約
>只有宣告沒有實做
>而virtual function是可以實做或被改寫


這麼說應該是沒錯,但要是...
注意的是在COM裡,
interface所指的應該是相關function的集合(collection of functions)。
它只是一個Vtalbe的東西,紀錄pointer to function。定義上不同。
而以pure virtual function去implement完成的在COM裡面則
稱為method。
作者 : (笨毛)
[ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2001/8/14 上午 11:28:05
以下的論點.. 是以C++ 去實作COM的時後..為基礎
因為COM是獨立的語言.. 所以在此只考慮C++實作的方向
===========================================

後來.. 慢慢發現
其實..

COM的介面就是C++ 裡的 類別

只是.. 寫COM的時後. 會只有函式 而且.. 繼承下來的..
全都是純虛擬函式.. 都要實作他

而操做的方式是用函式指標..

所以在學COM的時後才要大家先了解
虛擬函式.. 和 函式指標..

有一個想法.
就是把"介面" 當做類別..

那.. 微軟在定介面時
就想好了一些功能..
然後把他的成員函式定成純虛擬的
我們在繼成的時後.. 要去實作他..

會看到
class IUnkonwn
{
public:
virtual HRESULT QueryInterface(REFIID riid, LPVOID FAR* ppv) = 0;
virtual ULONG Addref() = 0;
virtual ULONG Release() = 0;
}

IUnkonwn 是一個 物件
IDispatch 也是一個 物件

interface IDispatch: public IUnknown
{
....................
}
注意 interface 這個關鍵字的用法
只是用來做為 class 的同義字

而微軟給於他們不同的功能意義
只是意義而以哦.. 因為全都是 純虛擬函式

小弟淺見.. 若有誤刊.. 希望不吝指導..
作者 : kenshin627(阿宏)
[ 貼文 105 | 人氣 2543 | 評價 360 | 評價/貼文 3.43 | 送出評價 15 次 ] 
[ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2005/3/12 下午 11:53:07
跟JAVA上的原理一樣
 板主 : 徵求中
 > COM/DCOM - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - COM/DCOM - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
COM/DCOM
1 估得 490 
2 nick 120 
3 PLAYER 110 
4 天雲 100 
5 Raynor 80 
6 青衫 60 
7 60 
8 Peter.huang 50 
9 酷小毅 50 
10 Giant 50 
COM/DCOM
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2019 程式設計俱樂部 http://www.programmer-club.com.tw/
0.015625