occ體系結構和基本概念

occ體系結構和基本概念

ID:23788191

大小:2.00 MB

頁數(shù):117頁

時間:2018-11-10

occ體系結構和基本概念_第1頁
occ體系結構和基本概念_第2頁
occ體系結構和基本概念_第3頁
occ體系結構和基本概念_第4頁
occ體系結構和基本概念_第5頁
資源描述:

《occ體系結構和基本概念》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在學術論文-天天文庫。

1、第1章OCC體系結構和基本概念OCC是用面向?qū)ο蠓椒ㄔO計的一個CAD基礎平臺(軟件)。為了能從整體上把握OCC的組織情況,也為了方便后續(xù)章節(jié)的討論,本章將介紹OCC體系結構和幾個基本概念。1.1OCC體系結構1.1.1面向?qū)ο蠓椒ê兔嫦驅(qū)ο蟮能浖こ淘诮榻BOCC體系結構之前,先介紹面向?qū)ο蠓椒ǖ母拍詈褪裁唇忻嫦驅(qū)ο蟮能浖こ?。在面向?qū)ο蟮姆椒ǔ霈F(xiàn)以前,程序員都采用面向過程的程序設計方法,其中典型的是結構化程序設計。這種設計的思路是:自頂向下、逐步求精。其程序結構是按功能劃分為若干個基本模塊,這些模塊形成一個樹狀結構。各模塊間的

2、關系盡可能簡單,在功能上相對獨立;每一模塊內(nèi)部均是由順序、選擇和循環(huán)三種基本結構組成。其模塊化實現(xiàn)的具體方法是使用子程序。結構化程序設計由于采用了模塊分解與功能抽象以及自頂向下、分而治之的方法,從而有效的將一個復雜的程序系統(tǒng)設計任務分解成許多易于控制和處理的子任務,便于開發(fā)和維護[2]。這種設計方法的致命缺點是:程序的可重用性差。因為它把數(shù)據(jù)和處理數(shù)據(jù)的過程分離為相互獨立的實體,當數(shù)據(jù)結構改變時,所有相關的處理過程都要進行相應的修改。而面向?qū)ο蟮姆椒▽?shù)據(jù)及對數(shù)據(jù)的操作放在一起,作為一個相互依存、不可分離的整體——對象。對同類

3、型對象抽象出其共性,形成類。類中的大多數(shù)數(shù)據(jù),只能用本類的方法進行處理。類通過一個簡單的外部接口與外界發(fā)生關系,對象與對象之間通過消息進行通信[2]。這樣,程序模塊間的關系更為簡單,程序模塊的獨立性、數(shù)據(jù)的安全性就有了良好的保障,實現(xiàn)了“高內(nèi)聚”“低耦合”。另外,繼承與多態(tài)性可以大大提高程序的可重用性,使得軟件的開發(fā)和維護都更為方便。面向?qū)ο蟮能浖こ淌敲嫦驅(qū)ο蠓椒ㄔ谲浖こ填I域的全面應用。它包括面向?qū)ο蟮姆治觯∣OA)、面向?qū)ο蟮脑O計(OOD)、面向?qū)ο蟮木幊蹋∣OP)、面向?qū)ο蟮臏y試(OOT)和面向?qū)ο蟮能浖S護(OOSM

4、)等主要內(nèi)容[2]。1.1.1OCC的體系結構整個OCC就是用面向?qū)ο蠓椒ㄔO計出來的一個對象庫。之所以用面向?qū)ο蠓椒ǘ皇敲嫦蜻^程方法,是因為用面向?qū)ο蠓椒ㄓ腥齻€好處。第一,由面向?qū)ο蠓椒ǔ橄蟮南到y(tǒng)結構能映射到數(shù)據(jù)庫結構中,很容易實現(xiàn)程序與數(shù)據(jù)結構的封裝。第二,面向?qū)ο蠓椒◤乃幚淼臄?shù)據(jù)入手,以數(shù)據(jù)為中心來描述系統(tǒng),數(shù)據(jù)相對于功能而言,具有更強的穩(wěn)定性,這樣設計出的系統(tǒng)模型往往能較好地映射問題域模型[3]。第三,對象、類、繼承性、多態(tài)性的引入使用,令面向?qū)ο蟮脑O計方法能更好地生產(chǎn)可重用的軟件構件和解決軟件的復雜性問題。不過,面

5、向?qū)ο蟮脑O計方法要求開發(fā)人員必須花很大精力去分析對象是什么,每個對象應該承擔什么責任,所有這些對象怎樣很好地合作以完成預定的目標。這樣做換來的好處是:提高了目標系統(tǒng)的可重用性,減少了生命周期后續(xù)階段的工作量和可能犯的錯誤,提高了軟件的可維護性[3]。用面向?qū)ο蠓椒ê蛙浖こ趟枷敕治?,整個OCC由五個模塊組成,分別是基礎類模塊、建模數(shù)據(jù)模塊、建模算法模塊、可視化模塊、數(shù)據(jù)交換模塊和應用程序模塊。其中,建模數(shù)據(jù)模塊主要提供二維和三維幾何模型的數(shù)據(jù)結構,也稱數(shù)據(jù)結構模塊。一個模塊主要由一個或幾個工具箱構成。當然它也可以包含一些執(zhí)行體

6、和資源體等。就結構上看,一個工具箱就是一個共享庫(如.so或.dll類型的文件)。每個工具箱由一個或幾個包組成。而每個包則由許多類組成,例如,一個幾何包包含點類、線類和圓類等。在同一個包中,不能含有相同名字的兩個類。使用類的時候,類名要以包名作前綴,如Geom_Circle。圖2.1簡要說明了包的內(nèi)容。圖2.1包的內(nèi)容1.1基本概念1.1.1類和泛化1、類OCC是一個面向?qū)ο蟮能浖?,與所有面向?qū)ο蟮能浖粯?,其最基本的軟件成分是類。一個類就是一種數(shù)據(jù)類型的實現(xiàn)。類有自己的行為(由它的函數(shù)提供的服務)和結構(類的數(shù)據(jù)結構——用來

7、存儲其數(shù)據(jù))。OCC中所有類按其實現(xiàn)方式可以分三種:普通類、推遲類和通用類。普通類含有實例方法,可以被直接實例化。而推遲類則不能被實例化。推遲類的作用在于使一層類共同擁有一種給定的行為,而這些行為的發(fā)生取決于普通類(推遲類的派生類)的實現(xiàn)。通過推遲類的創(chuàng)建,可以保證所有派生自同一推遲類的普通類擁有相同的繼承行為。在C++中,與推遲類等同的是抽象類。至于通用類,它提供了一套處理其他數(shù)據(jù)類型的功能行為。通用類的實例化需要為它的參數(shù)指定類型。通用類的作用與C++中模板類的作用一樣。2、泛化這里所謂的泛化,主要是通過通用類的實現(xiàn)來獲得

8、的。通用類分兩步實現(xiàn)。首先,對一個通用類進行聲明以建立模型。在CDL(CASCADE定義語言)中,通用類被聲明為對不確定類型數(shù)據(jù)項的操作。這里的數(shù)據(jù)項就是通用類中的形參。對通用類的形參進行限制,就可以使形參類型成為普通類的子類。要注意的是:聲明一個通用類并沒有創(chuàng)建一個新的類類

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。