[發(fā)明專利]構(gòu)件化軟件系統(tǒng)中構(gòu)件的繼承方法無效
| 申請?zhí)枺?/td> | 200810208049.0 | 申請日: | 2008-12-29 |
| 公開(公告)號: | CN101770360A | 公開(公告)日: | 2010-07-07 |
| 發(fā)明(設(shè)計)人: | 陳榕;宋世軍 | 申請(專利權(quán))人: | 上海科泰世紀科技有限公司 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 201203 上海市張江高*** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 構(gòu)件 軟件 系統(tǒng) 繼承 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及一種構(gòu)件的繼承方法,尤其涉及一種構(gòu)件化軟件系 統(tǒng)中構(gòu)件的繼承方法。
背景技術(shù)
在C++或JAVA等面向?qū)ο笳Z言中,可以通過源代碼級繼承來 達到重用已有實現(xiàn)的目的。
傳統(tǒng)的C++編程中的繼承方法,C++是基于代碼和實現(xiàn)的繼承, 也就是說,對于派生類來說,基類的源代碼和實現(xiàn)是必須完全開放 的,在此基礎(chǔ)上才能被繼承。如果基類的成員變量發(fā)生變化或者非 常微小的代碼變化,都要引起派生類重新編譯,同時也會影響使用 派生類對象的用戶代碼。
隨著計算機軟件技術(shù)的不斷發(fā)展,構(gòu)件化軟件技術(shù)已經(jīng)越來越 普及,各種各樣的構(gòu)件技術(shù)和支持這些構(gòu)件技術(shù)的相應(yīng)的嵌入式操 作系統(tǒng)也應(yīng)運而生。例如,基于基構(gòu)件和派生構(gòu)件架構(gòu)的構(gòu)件技術(shù), 在該架構(gòu)中,派生構(gòu)件繼承于基構(gòu)件,用于實現(xiàn)基于基構(gòu)件的特定 功能,而基于該架構(gòu)的嵌入式操作系統(tǒng)由于存在基構(gòu)件與派生構(gòu)件 的繼承關(guān)系實現(xiàn)了作業(yè)的時效性、針對性、便捷性。因此,如何解 決構(gòu)件化軟件系統(tǒng)中基構(gòu)件與派生構(gòu)件之間繼承的關(guān)聯(lián)性問題已經(jīng) 成為人們必須面對的課題。
發(fā)明內(nèi)容
鑒于以上內(nèi)容,有必要提供一種構(gòu)件化軟件系統(tǒng)中構(gòu)件的繼承 方法,可以使基構(gòu)件與派生構(gòu)件之間的繼承具有源代碼和實現(xiàn)的無 關(guān)性。
一種構(gòu)件化軟件系統(tǒng)中構(gòu)件的繼承方法,該方法包括如下步驟:
步驟1,在構(gòu)件化軟件系統(tǒng)聲明虛接口指針時,為聲明的虛接 口指針創(chuàng)建對應(yīng)的派生構(gòu)件的實例對象,將創(chuàng)建的實例對象輸出給 聲明的虛接口指針;
步驟2,通過Probe函數(shù)從聲明的虛接口指針獲得普通接口的接 口指針;
步驟3,通過普通接口的接口指針從外部調(diào)用基構(gòu)件實現(xiàn)的方 法;
步驟4,通過聲明的虛接口指針調(diào)用對應(yīng)的派生構(gòu)件實現(xiàn)的方 法,實現(xiàn)派生構(gòu)件重載基構(gòu)件實現(xiàn)的方法;
步驟5,在所述對應(yīng)的派生構(gòu)件實現(xiàn)的方法中,調(diào)用基構(gòu)件實 現(xiàn)的方法,實現(xiàn)派生構(gòu)件內(nèi)部調(diào)用基構(gòu)件已有實現(xiàn)的方法;及
步驟6,釋放創(chuàng)建的派生構(gòu)件實例對象,執(zhí)行結(jié)束。
相較于現(xiàn)有技術(shù),本發(fā)明通過繼承其他構(gòu)件的方式來重用被繼 承構(gòu)件所實現(xiàn)的接口,重載被繼承構(gòu)件的虛接口,實現(xiàn)了替代基構(gòu) 件的實現(xiàn)方法,使得基構(gòu)件與派生構(gòu)件之間的繼承具有源代碼和實 現(xiàn)的無關(guān)性。
附圖說明
圖1是本發(fā)明構(gòu)件化軟件系統(tǒng)中構(gòu)件的繼承方法較佳實施例的 主流程圖。
圖2是圖1中步驟S20的細化流程圖。
圖3是圖1中步驟S40的細化流程圖。
具體實施方式
如圖1所示,是本發(fā)明構(gòu)件化軟件系統(tǒng)中構(gòu)件的繼承方法的較 佳實施例的流程圖。該方法適用于能運行構(gòu)件化軟件系統(tǒng)的數(shù)據(jù)處 理設(shè)備。該數(shù)據(jù)處理設(shè)備是指手機、個人數(shù)字助理(Personal?Digital Assistant,PDA)等裝置。所述構(gòu)件化軟件系統(tǒng)為嵌入式操作系統(tǒng)。 該方法具有重用基構(gòu)件已有實現(xiàn)、重載基構(gòu)件的虛接口及接口調(diào)用 時的多態(tài)性。派生構(gòu)件能夠重載基構(gòu)件的虛接口,虛接口的方法能 夠指向不同的派生構(gòu)件的實現(xiàn),因此在這種構(gòu)件繼承方法中具有多 態(tài)性。在本較佳實施例中,基構(gòu)件為CAnimal,派生構(gòu)件為CDog 及CCat,所述派生構(gòu)件繼承于基構(gòu)件,所聲明的接口為虛接口 IGreeting及普通接口IAnimal。
Animal.car構(gòu)件代碼文件:
Interface?IGreeting{
???Greet();???//為接口聲明一個方法
}
Interface?IAnimal{
??SetName(WString?name);?//為接口聲明一個方法
??GetName(WStringBuf_<50>name);//為接口聲明一個方法
}
class?CAnimal{??//聲明一個基構(gòu)件
???virtual?interface?IGreeting//聲明該基構(gòu)件實現(xiàn)IGreeting接 口,且將IGreeting作為虛接口
interface?IAnimal;//聲明該基構(gòu)件實現(xiàn)IAnimal接口
class?CDog:CAnimal{//聲明一個名稱為CDog的派生構(gòu)件,該 派生構(gòu)件繼承于CAnimal
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于上海科泰世紀科技有限公司,未經(jīng)上海科泰世紀科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200810208049.0/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種基于應(yīng)用軟件散布的軟件授權(quán)與保護方法及系統(tǒng)
- 一種用于航空機載設(shè)備的軟件在線加載系統(tǒng)及方法
- 軟件構(gòu)建方法、軟件構(gòu)建裝置和軟件構(gòu)建系統(tǒng)
- 惡意軟件檢測方法及裝置
- 一種基于軟件基因的軟件同源性分析方法和裝置
- 軟件引入系統(tǒng)、軟件引入方法及存儲介質(zhì)
- 軟件驗證裝置、軟件驗證方法以及軟件驗證程序
- 使用靜態(tài)和動態(tài)惡意軟件分析來擴展惡意軟件的動態(tài)檢測
- 一種工業(yè)控制軟件構(gòu)建方法和軟件構(gòu)建系統(tǒng)
- 可替換游戲軟件與測驗軟件的裝置與方法





