面向對象方法學_第1頁
面向對象方法學_第2頁
面向對象方法學_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

傳統(tǒng)方法學建模和面向對象方法建模的比較面向對象的基本概念對象。對象是人們要進行研究的任何事物,從最簡單的整數到復雜的飛機等均可看作對象,它不僅能表示具體的事物,還能表示抽象的規(guī)則、計劃或事件。對象的狀態(tài)和行為。對象具有狀態(tài),一個對象用數據值來描述它的狀態(tài)。對象還有操作,用于改變對象的狀態(tài),對象及其操作就是對象的行為。對象實現了數據和操作的結合,使數據和操作封裝于對象的統(tǒng)一體中類。具有相同或相似性質的對象的抽象就是類。因此,對象的抽象是類,類的具體化就是對象,也可以說類的實例是對象。類具有屬性,它是對象的狀態(tài)的抽象,用數據結構來描述類的屬性。類具有操作,它是對象的行為的抽象,用操作名和實現該操作的方法來描述。類的結構。在客觀世界中有若干類,這些類之間有一定的結構關系。通常有兩種主要的結構關系,即一般--具體結構關系,整體--部分結構關系。一般一具體結構稱為分類結構,也可以說是“或”關系,或者是“isa”關系。整體一部分結構稱為組裝結構,它們之間的關系是一種“與”關系,或者是“hasa”關系。消息和方法。對象之間進行通信的結構叫做消息。在對象的操作中,當一個消息發(fā)送給某個對象時,消息包含接收對象去執(zhí)行某種操作的信息。發(fā)送一條消息至少要包括說明接受消息的對象名、發(fā)送給該對象的消息名(即對象名、方法名)。一般還要對參數加以說明,參數可以是認識該消息的對象所知道的變量名,或者是所有對象都知道的全局變量名。類中操作的實現過程叫做方法,一個方法有方法名、參數、方法體面向對象的特征(1)對象唯一性。每個對象都有自身唯一的標識,通過這種標識,可找到相應的對象。在對象的整個生命期中,它的標識都不改變,不同的對象不能有相同的標識。(2)分類性。分類性是指將具有一致的數據結構(屬性)和行為(操作)的對象抽象成類。一個類就是這樣一種抽象,它反映了與應用有關的重要性質,而忽略其他一些無關內容。任何類的劃分都是主觀的,但必須與具體的應用有關。(3) 繼承性。繼承性是子類自動共享父類數據結構和方法的機制,這是類之間的一種關系。在定義和實現一個類的時候,可以在一個已經存在的類的基礎之上來進行,把這個已經存在的類所定義的內容作為自己的內容,并加入若干新的內容。繼承性是面向對象程序設計語言不同于其它語言的最重要的特點,是其他語言所沒有的。在類層次中,子類只繼承一個父類的數據結構和方法,則稱為單重繼承。在類層次中,子類繼承了多個父類的數據結構和方法,則稱為多重繼承。在軟件開發(fā)中,類的繼承性使所建立的軟件具有開放性、可擴充性,這是信息組織與分類的行之有效的方法,它簡化了對象、類的創(chuàng)建工作量,增加了代碼的可重性。采用繼承性,提供了類的規(guī)范的等級結構。通過類的繼承關系,使公共的特性能夠共享,提高了軟件的重用性。(4) 多態(tài)性(多形性)多態(tài)性使指相同的操作或函數、過程可作用于多種類型的對象上并獲得不同的結果。不同的對象,收到同一消息可以產生不同的結果,這種現象稱為多態(tài)性。多態(tài)性允許每個對象以適合自身的方式去響應共同的消息。多態(tài)性增強了軟件的靈活性和重用性。結構化程序設計特點:優(yōu)點:與非結構化程序相比,結構化程序在調試、可讀性和可維護性等方面都有很大的改進。缺點:代碼重用性不高:以過程為中心設計新系統(tǒng),除了一些標準函數,大部分代碼都必須重新編寫。由于軟、硬件技術的不斷發(fā)展和用戶需求的變化,按照功能劃分設計的系統(tǒng)模塊容易發(fā)生變化,使得開發(fā)出來的模塊的可維護性欠佳。面向過程模式將數據與過程分離,若對某一數據結構做了修改,所有處理數據的過程都必須重新修訂,這樣就增加了很多的編程工作量。面向對象的優(yōu)點:而面向對象圍繞現實世界的概念來組織模塊,采用對象描述問題空間的實體,用程序代碼模擬現實世界中的對象,使程序設計過程更自然、更直觀。面向過程是以功能為中心來描述系統(tǒng),而面向對象是以數據為中心來描述系統(tǒng)。相對于功能而言,數據具有更強的穩(wěn)定性。面向對象模擬了對象之間的通信。就象人們之間互通信息一樣,對象之間也可以通過消息進行通信。這樣,我們不必知道一個對象是怎樣實現其行為的,只需通過對象提供的接口進行通信并使用對象所具有的行為功能。而面向過程則通過函數參數和全局變量達到各過程模塊聯(lián)系的目的。面向對象把一個復雜的問題分解成多個能夠完成獨立功能的對象(類),然后把這些對象組合起來去完成這個復雜的問題。采用面向對象模式就象在流水線上工作,我們最終只需將多個零部件(已設計好的對象)按照一定關系組合成一個完整的系統(tǒng)。這樣使得軟件開發(fā)更有效率。主要區(qū)別為引入了對象的概念,c為面向過程的編程語言,他如果要實現代

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論