軟件工程——理論、方法與實踐 之 面向對象基礎編程
面向對象技術是軟件工程領域中的重要技術,這種技術比較天然的模擬了人類認識客觀世界的方式,是當前計算機軟件工程學中的主流方法。面向對象方法認爲:客觀世界是由對象組成的,任何客觀的事物或實體都是對象,複雜的對象能夠由簡單的對象組成;具備相同數據和相同操做的對象能夠歸併爲一個類,對象是對象類的一個實例;類能夠派生出子類,子類繼承父類的所有特性(數據和操做),又能夠有本身的新特徵,子類與父類造成類的層次結構;對象之間經過消息傳遞相互聯繫;類具備封裝性,其數據和操做等內容對外界是不可見的,外界只能經過消息請求進行某些操做,提供所需服務。面向對象的軟件工程方法是面向對象方法在軟件工程領域的全面運用,涉及到從面向對象分析、面向對象設計、面向對象編程、面向對象測試到面向對象軟件維護的全過程。測試
對象是系統中用來描述客觀事物的一個實體,它是構成系統的一個基本單位。由一組屬性和對這組屬性進行操做的一組服務組成。類是具備相同屬性和服務的一組對象的集合,它爲屬於該類的所有對象提供了統一的抽象描述,其內部包括屬性和服務兩個主要部分。封裝是把對象的屬性和服務結合成一個獨立的系統單位,並儘量隱藏對象的內部細節。繼承是指子類能夠自動擁有父類的所有屬性和服務。消息是對象發出的請求,通常包含提供服務的對象標識、服務標誌、輸入信息和應答信息等信息。關聯是對象屬性之間的靜態聯繫,它經過對象的屬性來表現對象之間的依賴關係。聚合是對象之間的組成關係,即一個(或一些)對象是另外一個對象的組成或部分。多態性是指父類中定義的屬性或服務被子類繼承後,能夠具備不一樣的數據類型或表現出不一樣的行爲。在平常生活中,建模已成爲一項通過驗證並被廣爲接受的工程技術。鑑於軟件所具備的複雜性,以及人們對複雜問題理解的侷限性,在軟件開發過程當中使用共同的建模語言進行軟件建模是十分必要的,特別是對於大型複雜系統而言。軟件模型通常包括數學模型、描述模型和圖形模型3種類型,其中數學模型採用精確的數學公式來描述系統;描述模型採用天然語言以一種精確的方式描述系統的某一方面圖形模型是以直觀的方式示意性地表示系統的某些方面,有助於人們理解那些難以用天然語言來描述的複雜關係。設計
統一建模語言(UML)是一種直觀化、明確化、構件和文檔化軟件系統產物的通用可視化建模語言。UML由視圖、圖、模型元素和公共機制等部分組成。經常使用的UML圖包括用例圖、類圖、順序圖和狀態圖等。對象