第七章 面對物件的軟體分析

2021-10-05 15:12:54 字數 2821 閱讀 3101

訊息方法

屬性attribute

高階概念

過載 overloading

面對物件的方法

基本原則:

盡可能模擬人類習慣的思維方式,使開發軟體的方法和過程盡可能接近人類認識世界解決問題的方法和過程。即 使描述問題的問題空間(問題域)與實現解法的解空間(求解域)在結構上盡可能一致。

面對物件方法的4個要點:

認為客觀世界是由各種物件組成的;

把所有的物件都劃分成各種物件類,每個物件類都定義了一組資料和一組方法;

按照子類和父類(派生類和基類)的繼承關係,把若干個物件類組成乙個層次結構的系統;

物件之間僅能通過傳遞資訊相互聯絡。

面對物件=物件+類+繼承+傳遞訊息

物件導向軟體技術的基本原理,強調模擬顯示世界中的概念而不強調演算法。

在應用領域中有意義的、與索要解決的問題有關係的任何事物都可作為物件,可以是具體的物理實體的抽象,也可以是人為的概念,或者任何有明確邊界和意義的東西。如:貸款和借款,乙個視窗等。

物件是由描述該物件屬性的資料,以及可以對這些資料施加的所有操作封裝在一起構成的統一體。

物件的定義:1)物件是具有相同狀態的一組操作的集合,2)物件是對問題域中某個東西的抽象,是對屬性值和操作的封裝,3)形式化定義,物件::=,依次是物件的標識、操作集合、資料結構、對外介面。

物件的特點:1)以資料為中心,2)物件是主動的,3)實現了資料封裝,4)本質上具有並行性,5)模組對立性好。

是對具有相同資料和想同操作的一組相似物件的定義,類是對具有相同屬性和行為的乙個或多個物件的描述(抽象)。

例項是由某個特定的類做描述的乙個具體的物件。

類是建立物件的「樣板」, 按照這個樣板所建立的乙個具體的物件,就是類的實際例子,通常稱為例項。

訊息就是某個操作的規格說明。由1)接受訊息的物件 2)訊息選擇符(訊息名) 3)零個或多個變元組成。

方法就是物件所能執行的操作,也是類中定義的服務。

屬性,類中定義的資料,客觀世界中實體所具有的性質的抽象。

條件:1)清晰的邊界 2)明確的介面 3)受保護的內部實現

繼承是指能夠直接獲得(父類中的)已有的性質和特徵,而不用重複定義。

是子類自動的共享其父類中定義的屬性和操作的機制,該機制構成了類的層次結構。較高層的父類稱為基類、超類、一般類。子類稱為派生類、特殊類。子類除了繼承父類的特徵,還可有自己的特徵。繼承具有傳遞性,子類能夠繼承上層的全部特徵。

繼承性使得相似的物件可以共享程式**和資料結構,從而簡化了建立類及物件的工作量,基類解決一般性問題,派生類解決特殊性問題,提高了軟體的可重用性。繼承性還使得軟體便於維護,當需要擴充軟體願用功能時,從要修改的類中派生出乙個子類,在該子類中新增新的**。

相同操作的資訊傳送給不同的物件時,每個物件根據自己所屬類中定義的這個操作去執行,從而產生不同的結果。

父類包含乙個被子類覆蓋的方法,接下來通過乙個父類的引用值來引用其不同的子類物件,父類引用呼叫被覆蓋的方法時,不用版本的被覆蓋的方法將會執行。

多型機制不僅增加了面對物件軟體系統的靈活性,進一步減少了資料冗餘,還顯著提高了軟體的可重用性和可擴充性。

引用所能呼叫用的方法取決於引用的型別,而如何具體的實現該方法取決於物件的型別

父類不能呼叫子類物件獨有的方法。

**函式過載:**是指同一作用域內(類等)若干個引數特徵不同的函式可以使用相同的函式名稱。

**運算子過載:**同乙個運算子可以施加於不同型別的運算元上面。

在給定的抽象層次上識別類和物件;

識別這些物件和類的語義;

識別這些類和物件之間的關係;

實現類和物件。

類圖(類結構-靜態檢視)、物件圖(物件結構-靜態檢視)、狀態轉移圖(類結構-動態試圖)、時態圖(物件結構-動態檢視)、模組圖(模組體系結構)、程序圖(程序體系結構)。

rumbaugh等人提出,他們認為:oo方法不是基於功能分解的方法,二十利用oo技術描述了真實世界中真實物件扮演的角色。

四個步驟:分析、系統分析、物件設計和實現。

omt方法從三個角度對乙個系統進行建模,得到三種模型:==物件模型、動態模型和功能模型,==分別代表了系統靜態結構,系統隨時間變化的、行為的、控制的方面,系統的功能方面。

從目標系統的輸入和輸出資料結構入手,匯出程式框架結構,再補充其他細節,從而得到完整的程式結構圖

優點符合人類的思維習慣

穩定性好

可重用性好

可維護性好

軟體工程(速成) 第七章 物件導向分析

一 物件導向分析的基本過程 1.物件導向分析的過程 物件導向分析,就是抽取和整理使用者需求並建立問題域精確模型的過程。1 分析陳述使用者需求的檔案 2 發現和改正原始陳述中的二義性和不一致性,補充遺漏的內容 3 深入理解使用者需求,抽象出本質屬性,用模型表達出來。2.3個子模型與5個層次 1 3個子...

第七章 物件導向 匿名物件

匿名物件 1.當物件對方法僅進行一次呼叫的時候,就可以簡化成匿名物件 new car number 4 new car red red new car run 因為每一次都是new所以在呼叫run方法時候會列印0和null,而前面兩個new出來的物件並賦值給的數 據,在執行完就消失了,因為他們沒有指...

java物件導向第七章

選擇題 1.a 2.b 3.c 4.b 5.c 6.c 簡答題1.單cpu的計算機中,cpu同時只能執行一條指令,所以在僅有乙個cpu的計算機上不可能同時執行多個任務。而作業系統為了能提高程式的執行效率,將cpu的執行時間分成多個時間片,分配給不同的執行緒,當乙個時間片執行完畢後,該執行緒就可能讓出...