軟體構造複習3 5

2021-10-07 12:32:16 字數 502 閱讀 5112

== vs equals

對於基本資料型別,使用==,非基本資料型別,其值表示的是位址,類似指標。

物件型別使用equals,使用的是overload,因此要注意好引數的型別,不同的型別會導致對比的依據不同

對於inreger,使用==,要求範圍在-128-127之間,可以直接比較

overload vs override

override使用時會檢查超類中是否存在相同的簽名方法

instanceof

a instanceof b 測試a是否是b的乙個例項,

不要用instanceof在超類中檢查子類,可以用多型

object contract

要求等價的物件必須有相同的hashcode,因此override equals後也要override hashcode

可變型別的相等

觀察等價性:在不改變狀態的情況下,兩個mutable物件是否看起來一致

行為等價性:呼叫物件的任何方法都展示出一致的結果

軟體構造複習

1.3.1 瀑布式開發過程 基本活動 制定計畫 需求分析 軟體設計 程式編寫 軟體測試 執行維護 問題 階段劃分僵硬,每個階段不能預設,而且產生大量文件,增加了工作量 開發是線性的,只有等到整個過程的末期才能見到開發成果 可執行軟體,不利於快速響應變化的需求 早期的錯誤要等到開發後期的測試階段才能發...

軟體構造複習6

1.併發 建立執行緒 1.繼承thread類,重寫run 方法 new hellowthread start 開始執行緒 2.實現runnable介面,重寫run 方法 new thread new hellowthread start 開始執行緒 特性 雖然有多執行緒,但只有乙個核,每個時刻只能執...

軟體構造複習2

外部質量和內部質量 外部質量影響使用者,內部質量影響軟體本身和他的開發者,外部 質量取決於內部質量。最後只有外部質量起作用。外部質量 1.正確性 按照預先定義的 規約 執行,最重要的質量指標 健壯性 針對異 常情況的處理,出現異常時不要 崩潰 未被 specification 覆蓋的情況即為 異常情...