1.與人類習慣的思維方式一致
由於把描述事物靜態屬性的數據結構和表示事物動態行為的操作放在一起構成一個整體,可以完整,自然地表示客觀世界中的實體,所以面向對象的設計方法強調模擬現實世界的概念而不強調算法,它對問題領域進行自然的分解,確定需要使用的對象和類,建立適當的類等級,在對象之間傳遞消息實現必要的聯系,從而按照人們習慣的思維方式建立起問題領域的模型,模擬客觀世界,支持從特殊到一般的歸納思維過程。
2.穩定性好
面向對象方法基於構造問題領域的對象模型,以對象為中心構造軟件系統,所以,當對系統的功能需求變化時不會引起軟件結構的整體變化,只需做一些局部性修改。例如,從已有類派生出一些新的子類以實現功能擴充或修改增加或刪除某些對象。
3.可重用性好
在面向對象方法所使用的對象中,數據和操作是作為平等伙伴出現的,因此,對象具有很強的自含性,此外,對象固有的封裝性和信息隱藏機制,使得對象的內部實現與外界隔離,具有較強的獨立性。由此可見,對象是比較理想的模塊和可重用的軟件成分。兩種方法可以重復使用一個對象類:一種方法是創建該類的實例,從而直接使用它;另一種方法是從它派生出一個滿足當前需要的新類。
4.較易開發大型軟件產品
用面向對象方法學開發軟件時,構成軟件系統的每個對象就像一個微型程序,有自己的數據,操作,功能和用途。因此,可以吧一個大型軟件產品分解成一系列本質上相互獨立的小產品處理,這不僅降低了開發的技術難度,而且也使得對開發工作的管理變得容易多了。
5.可維護性好
1.面向對象的軟件穩定性好。對系統功能需求變化時不會很大程度上地調整整體;
2.面向對象的軟件比較容易修改。類是理想的模塊機制,它的獨立性好,修改一個類通常很少涉及其他類;
3.面向對象的軟件比較容易理解。面向對象的軟件技術符合人們的習慣思維方式,用這種方法所建立的軟件系統的結構與問題空間的結構基本一致;
4.易於測試和調試。類是獨立性很強的模塊,向類的實例發消息即可運行它,觀察它是否能正確地完成要求它做的工作對類的測試通常容易實現,如果發現錯誤也往往集中在類的內部,比較容易調試
----------------參考文獻:教材(軟件工程導論)
