- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
面向對象方法學引論
(Object-OrientedMethodology);§1面向對象方法學概述;面向對象方法把數據和行為看成同等重要,它是一種以數據為主線,把數據和對數據的操作緊密地結合起來的方法。;(2)把所有對象都劃分成類(class)。每個類都定義了一組數據和一組操作,類是對具有相同數據和相同操作的一組相似對象的定義。;杭州;?特點:盡可能模擬人類習慣的思維方式,即問題域與求解域在結構上盡可能一致。與傳統方法相反,OOM以數據或資訊為主線,把數據和處理結合構成統一體——對象。這時程式不再是一系列工作在數據上的函數集合,而是相互協作又彼此獨立的對象的集合。;例:classPost_office{
private:
loc_typelocation;
emp_typeemployee;
……
public:
voidsend(req_typerequest,money_typepayment);
voidsell(intgoods,money_typepayment);
……
};;③繼承(inheritance):類可分層,下層子類與上層父類有相同特徵,稱為繼承。;OOM:以object為核心,強調對現實概念的模擬而不強調演算法。“面向對象方法學的基本原則,是按照人們習慣的思維方式建立問題域的模型,開發出盡可能直觀、自然地表現求解方法的軟體系統”。
?Class:由特殊到一般的歸納(induction)
?Inheritance:由一般到特殊的演繹(deduction);OOM:以object模擬實體,需求變化不會引起結構的整體變化,因為實體相對穩定,故系統也相應穩定。;穩定性好:軟體功能需求的變化不牽動全局,只需局部修改;
Class獨立性強:只要修改不涉及class的對外介面,則內部修改完全不影響外部調用;
Inheritance和多態性(polymorphism)使其很容易被修改和擴充;
容易理解;;注:OOM並不是減少了開發時間,而是通過提高可重用性、可維護性,進行擴充和修改的容易程度等,從長遠角度改進了軟體的品質。OOM與Prototyping結合使用效果好。;迭代是軟體開發過程中普遍存在的一種內在屬性。經驗表明,軟體過程各個階段之間的迭代或一個階段內各個工作步驟之間的迭代,在面向對象範型中比在結構化範型中更常見。
;使用???向對象方法學開發軟體時,工作重點應該放在生命週期中的分析階段。
早期階段定義了一系列面向問題的對象,並且在整個開發過程中不斷充實和擴充這些對象。
整個開發過程中都使用統一的軟體概念“對象”,所有其他概念(例如功能、關係、事件等)都是圍繞對象組成的,分析階段得到的對象模型也適用於設計階段和實現階段。;各個開發步驟的多次反復迭代,達到認識的逐步深化。
每次反復都會增加或明確一些目標系統的性質,但卻不是對先前工作結果的本質性改動,這樣就減少了不一致性,降低了出錯的可能性。
噴泉模型,是典型的面向對象的軟體過程模型。;
噴泉模型;“噴泉”這個詞體現了面向對象軟體開發過程迭代和無縫的特性。
代表不同階段的圓圈相互重疊,這明確表示兩個活動之間存在交迭;
用面向對象方法開發軟體時,在分析、設計和編碼等項開發活動之間並不存在明顯的邊界。
在一個階段內的向下箭頭代表該階段內的迭代(或求精)。圖中較小的圓圈代表維護,圓圈較小象徵著採用了面向對象範型之後維護時間縮短了。;為避免使用噴泉模型開發軟體時開發過程過分無序,應該把一個線性過程(例如,快速原型模型或圖9.1中的中心垂線)作為總目標。
面向對象範型本身要求經常對開發活動進行迭代或求精。;§2.基本概念;;對象的幾個定義:
(1)定義1:對象是具有相同狀態的一組操作的集合。主要是從面向對象程式設計的角度看“對象”。;對象是封裝了數據結構及可以施加在這些數據結構上的操作的封裝體,這個封裝體有可以惟一地標識它的名字,而且向外界提供一組服務(即公有的操作)。
對象中的數據表示對象的狀態,一個對象的狀態只能由該對象的操作來改變。每當需要改變對象的狀態時,只能由其他對象向該對象發送消息。對象回應消息時,按照消息模式找出與之匹配的方法,並執行該方法。;從動態角度或對象的實現機制來看,對象是一臺自動機。
具有內部狀態S,
操作fi(i=1,2,…,n
原创力文档


文档评论(0)