freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第一講面向?qū)ο蠓椒▽W(xué)與信息系統(tǒng)建模(編輯修改稿)

2025-08-28 12:44 本頁面
 

【文章內(nèi)容簡介】 ? OOM:以 object 為核心,強調(diào)對現(xiàn)實概念的模擬而不強調(diào)算法。 “ 面向?qū)ο蠓椒▽W(xué)的基本原則,是按照人們習慣的思維方式建立問題域的模型,開發(fā)出盡可能直觀、自然地表現(xiàn)求解方法的軟件系統(tǒng) ” 。 ? Class:由特殊到一般的歸納 (induction) ? Inheritance:由一般到特殊的演繹 (deduction) 傳統(tǒng)方法與 OO的比較 上海交通大學(xué)計算機系 2022/8/17 35 ? 傳統(tǒng)方法:結(jié)構(gòu)依賴于功能,不穩(wěn)定。 ? OOM:以 object模擬實體,需求變化不會引起結(jié)構(gòu)的整體變化,因為實體相對穩(wěn)定,故系統(tǒng)也相應(yīng)穩(wěn)定。 ? 傳統(tǒng)方法:通過建立標準函數(shù)庫來重用軟構(gòu)件。但標準函數(shù)缺少必要的 “ 柔性 ” ,難以適應(yīng)不同場合的不同需要 ? OOM:一個 class所有的 instances 都可重用它的代碼;由 inheritance 派生出的新的 class 可重用其父類的代碼,并且可以修改、擴充而不影響其父類的使用。 上海交通大學(xué)計算機系 2022/8/17 36 ? 傳統(tǒng)方法:可維護性是最令人頭痛的問題。 ? OOM:從以下幾方面改善了可維護性 ? 穩(wěn)定性好:軟件功能需求的變化不牽動全局,只需局部修改; ? Class 獨立性強:只要修改不涉及 class的對外接口,則內(nèi)部修改完全不影響外部調(diào)用; ? Inheritance和多態(tài)性 (polymorphism)使其很容易被修改和擴充; ? 容易理解; ? 容易測試、調(diào)試。 有這一條就什么都好辦了! 這一點還可商榷 上海交通大學(xué)計算機系 2022/8/17 37 ? OOM并不是減少了開發(fā)時間,而是通過提高可重用性、可維護性,進行擴充和修改的容易程度等,從長遠角度改進了軟件的質(zhì)量。 ? OOM與 Prototyping結(jié)合使用效果好。 上海交通大學(xué)計算機系 6. 對象概念 上海交通大學(xué)計算機系 2022/8/17 39 f1 f2 f3 …… fi …… fn fi(X) S gi(X,S) S’ 輸出 輸出 Object : = ID + Method + Attribute + Message 上海交通大學(xué)計算機系 2022/8/17 40 ? 特點: ① 以數(shù)據(jù)為中心,不設(shè)與數(shù)據(jù)無關(guān)的操作; ② Object主動處理而不 被動地等待被處理,外部只能通過 message請求操作; ③ 具有黑盒性:外部操作時,無須知道該 object內(nèi)部的數(shù)據(jù)結(jié)構(gòu)及算法; ④ 具有并行性:不同 object各自獨立地處理自身數(shù)據(jù),彼此間僅通過傳遞 message完成通信; ⑤ 模塊獨立性好:內(nèi)聚強( ① )、耦合松( ③ ④ ) 上海交通大學(xué)計算機系 2022/8/17 41 Class:具有相同數(shù)據(jù)和相同操作的一組對象; Instance:某個 class描述的具體對象; Message: = object_ID. method_ID (parameter(s)); Method: object能做的操作,亦稱為 service 、responsibility, 在 class 中須定義相應(yīng)的代碼; Attribute : object 的固有數(shù)據(jù); Inheritance:子類自動共享父類的 attributes 和 methods ,而不必重復(fù)定義。 上海交通大學(xué)計算機系 2022/8/17 42 Class 中國人 中國人 Attributes 中國人 Methods 張山 (instance) Class 中國人 張山的 Attributes Class 上海人 (子類 ) 上海人 Attributes 上海人 Methods Class 中國人 李士 (instance) 中國人李士的 Attributes 上海人李士的 Attributes Class 上海人 例: 上海交通大學(xué)計算機系 2022/8/17 43 ?特點: ? 若上海人的 methods中有與中國人的同名,則李士執(zhí)行該 method 時以上海人為準,不執(zhí)行中國人中定義的同名 method。 ? 傳遞性 (transitivity): A?B、 B?C ? A?C, 一個 class 繼承了上層全部 classes 的一切性質(zhì)。 ? 一個子類只 有 一 個父類稱為單 繼 承 (single inheritance), 一個子類可有多個父類稱為多重繼承( multiple inheritance). “低層性質(zhì) override高層性質(zhì)” “縣官不如現(xiàn)管” 上海交通大學(xué)計算機系 2022/8/17 44 注意: multiple inheritance 在定義中應(yīng)避免二義性(ambiguity),即二個父類中定義重名,但各具不同性質(zhì)。 例: Female Chinese Scholar I CardDeck GraphicalObject GraphicalDeck Method: Draw := take a card from a deck Method: Draw := display a graphical object Method: Draw := ? 例: 上海交通大學(xué)計算機系 2022/8/17 45 ? 8 Polymorphism: ? 不同層次的 classes 可共享一個method名,但按各自的方式來實現(xiàn)這種 method。 ? C++ 中定義了虛函數(shù) (virtual function)來實現(xiàn)這一功能。即一個 method有多個版本,運行時才決定執(zhí)行哪一個。故亦稱為動態(tài)聯(lián)編 (dynamic binding)或滯后聯(lián)編(late binding) ? 修改與擴充可以很容易地通過派生子類來完成 Which form do you need, master? Aladdin’s Genie 上海交通大學(xué)計算機系 2022/8/17 46 double avg (const double a[ ], int size) 。 double avg (const int a[ ], int size) 。 double avg (const double a[ ], int size) 。 { double sum = 。 for ( int i = 0。 i size。 ++i ) sum += a[i] 。 return ( sum / size ) 。 } double avg (const int a[ ], int size) 。 { int sum = 0 。 for ( int i = 0。 i size。 ++i ) sum += a[i] 。 return ( (double) sum / size ) 。 }
點擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1