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