面向对象实现课件.pptxVIP

面向对象实现课件.pptx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

面向對象實現;面向對象實現主要包括兩項工作:

把面向對象設計結果翻譯成用某種程式語言書寫的面向對象程式;

測試並調試面向對象的程式。

;面向對象測試的目標,也是用盡可能低的測試成本發現盡可能多的軟體錯誤。

面向對象程式中特有的封裝、繼承和多態等機制,也給面向對象測試帶來一些新特點,增加了測試和調試的難度。

必須在實踐中努力探索適合於面向對象軟體的更有效的測試方法。;面向對象設計的結果既可以用面向對象語言、也可以用非面向對象語言實現。;選擇編程語言的關鍵因素,是語言的一致的表達能力、可重用性及可維護性。

從面向對象觀點看來,能夠更完整、更準確地表達問題域語義的面向對象語言的語法是非常重要的,因為這會帶來下述幾個重要優點:;1.一致的表示方法

面向對象開發基於不隨時間變化的、一致的表示方法。

表示方法應該從問題域到OOA,從OOA到OOD,最後從OOD到面向對象編程(OOP),始終穩定不變。

一致的表示方法既有利於在軟體開發過程中始終使用統一的概念,也有利於維護人員理解軟體的各種配置成分。;2.可重用性

為了能帶來可觀的商業利益,必須在更廣泛的範圍中運用重用機制,而不是僅僅在程式設計這個層次上進行重用。

在OOA,OOD直到OOP中都顯式地表示問題域語義,其意義是十分深遠的。

隨著時間的推移,軟體開發組織既可能重用它在某個問題域內的OOA結果,也可能重用相應的OOD和OOP結果。;3.可維護性

儘管人們反復強調保持文檔與根源程式一致的必要性,但是,在實際工作中很難做到交付兩類不同的文檔,並使它們保持彼此完全一致。

特別是考慮到進度、預算、能力和人員等限制因素時,做到兩類文檔完全一致幾乎是不可能的。因此,維護人員最終面對的往往只有根源程式本身。;兩大類面向對象語言。

一類是純面向對象語言,如Smalltalk和Eiffel等語言,著重支持面向對象方法研究和快速原型的實現.

另一類是混合型面向對象語言,也就是在過程語言的基礎上增加面向對象機制,如C++等語言,著重提高運行速度和使傳統程式員容易接受面向對象思想。;1.支持類與對象概念的機制

允許用戶動??創建對象,並且可以用指針引用動態創建的對象。

系統必須處理記憶體管理問題,如果不及時釋放不再需要的對象所佔用的記憶體,動態存儲分配就有可能耗盡記憶體。;有兩種管理記憶體的方法,

語言的運行機制自動管理記憶體,即提供自動回收“垃圾”的機制;

程式員編寫釋放記憶體的代碼。

自動管理記憶體不僅方便而且安全,但是必須採用先進的垃圾收集演算法才能減少開銷。;2.實現整體-部分(即聚集)結構的機制

兩種實現方法,分別使用指針和獨立的關聯對象實現整體-部分結構。;3.實現一般-特殊(即泛化)結構的機制

既包括實現繼承的機制也包括解決名字衝突的機制。

解決名字衝突,指的是處理在多個基類中可能出現的重名問題,這個問題僅在支持多重繼承的語言中才會遇到。

某些語言拒絕接受有名字衝突的程式,另一些語言提供瞭解決衝突的協議。不論使用何種語言,程式員都應該盡力避免出現名字衝突。;4.實現屬性和服務的機制

實現屬性的機制應該著重考慮幾個方面:支持實例連接的機制;

屬性的可見性控制;

對屬性值的約束。

服務應該考慮下列因素:

支持消息連接(即表達對象交互關係)的機制;

控制服務可見性的機制;

動態聯編。;所謂動態聯編,是指應用系統在運行過程中,當需要執行一個特定服務的時候,選擇(或聯編)實現該服務的適當演算法的能力。

動態聯編機制使得程式員在向對象發送消息時擁有較大自由,在發送消息前,無須知道接受消息的對象當時屬於哪個類。;5.類型檢查

如果語言僅要求每個變數或屬性隸屬於一個對象,則是弱類型的;

如果語法規定每個變數或屬性必須準確地屬於某個特定的類,則這樣的語言是強類型的。面向對象語言在這方面差異很大,例如,Smalltalk實際上是一種無類型語言(所有變數都是未指定類的對象);C++和Eiffel則是強類型語言。混合型語言(如C++,Objective_C等)甚至允許屬性值不是對象而是某種預定義的基本類型數據(如整數,浮點數等),這可以提高操作的效率。;強類型語言主要有兩個優點:

有利於在編譯時發現程式錯誤,

增加了優化的可能性。

通常使用強類型編譯型語言開發軟體產品,使用弱類型解釋型語言快速開發原型。

總的說來,強類型語言有助於提高軟體的可靠性和運行效率,現代的程式語言理論支持強類型檢查,大多數新語言都是強類型的。;6.類庫

大多數面向對象語言都提供一個實用的類庫。

類庫中往往包含實現通用數據結構(例如,動態數組、表、佇列、棧、樹等等)的類,通常把這些類稱為包容類。在類庫中還可以找到實現各種關聯的類。

更完整的類庫通常還提供獨立於具體設備的介面類(例如,輸入輸出流),此外,用於實現窗

文档评论(0)

子不语 + 关注
官方认证
服务提供商

平安喜乐网络服务,专业制作各类课件,总结,范文等文档,在能力范围内尽量做到有求必应,感谢

认证主体菏泽喜乐网络科技有限公司
IP属地未知
统一社会信用代码/组织机构代码
91371726MA7HJ4DL48

1亿VIP精品文档

相关文档