TDD的通常步驟:java
TDD的編碼節奏:程序員
過程抽象的結果是函數,數據抽象的結果是抽象數據類型(Abstract Data Type,ADT),類能夠做具備繼承和多態機制的ADT。數據抽象纔是OOP的核心和起源。算法
OO三要素的第一個要素是封裝,封裝就 是將數據與相關行爲包裝在一塊兒以實現信息就隱藏。
封裝實際上使用方法(method)將類的數據隱藏起來,控制用戶對類的修改和訪問數據的程度,從而帶來模塊化(Modularity)和信息隱藏(Information hiding)的好處;接口(interface)是封裝的準確描述手段。
UML建模:
在UML 裏,一個類的屬性能顯示它的名字,類型,初始化值,屬性也能夠顯示private,public,protected。 類的方法能顯示它們的方法名,參數,返回類型,以及方法的private,public,protected屬性。其中:
+表示public
表示protected
-表示private
UML類圖要展現類之間的靜態關係,UML中依賴用帶箭頭的直線表示
UML類圖中繼承的表示法是用一個帶三角的直線指向父類
繼承指一個類的定義能夠基於另一個已經存在的類,即子類基於父類,從而實現父類代碼的重用。既存類稱做基類、超類、父類(base class、super class、parent class),新類稱做派生類、繼承類、子類(derived class、inherited class、child class)。繼承關係表達了」Is a kind of「的關係,稱爲「ISA」關係。繼承的關鍵在於確認子類爲父類的一個特殊類型。
繼承是實現軟件可重用的根基,是提升軟件系統的可擴展性與可維護性的主要途徑。
以封裝爲基礎,繼承能夠實現代碼複用,須要注意的是,繼承更重要的做用是實現多態。
面向對象中容許不一樣類的對象對同一消息作出響應,即同一消息能夠根據發送對象的不一樣而採用多種不一樣的行爲方式,咱們稱此現象爲多態性。Java中,多態是指不一樣的類對象調用同一個簽名的成員方法時將執行不一樣代碼的現象。多態是面向對象程序設計的靈活性和可擴展性的基礎。
編程
對設計模式示例進行擴充,體會OCP原則和DIP原則的應用,初步理解設計模式。讓系統支持Double類,並在MyDoc類中添加測試代碼代表添加正確,提交測試代碼和運行結的截圖,加上學號水印
設計模式
複數運算: 定義複數 定義構造函數 定義共有方法:加減乘除
public class Complex{ private double r; private double i; public Complex(double r, double i) { this.r = r; this.i = i; } public static double getRealPart(double r) { return r; } public static double getImagePart(double i) { return i; } public Complex ComplexAdd(Complex a) { return new Complex(r + a.r, i + a.i); } public Complex ComplexSub(Complex a) { return new Complex(r - a.r, i - a.i); } public Complex ComplexMulti(Complex a) { return new Complex(r * a.r - i * a.i, r * a.i + i * a.r); } public Complex ComplexDiv(Complex a) { return new Complex((r * a.i + i * a.r)/(a.i * a.i + a.r * a.r), (i * a.i + r * a.r)/(a.i * a.i + a.r * a.r)); } public String toString() { String s = " "; if (i > 0) s = r + "+" + i + "i"; if (i == 0) s = r + ""; if (i < 0) s = r + " " + i + "i"; return s; } }
我我的的感覺而言,單元測試提供了一種高效快速的測試代碼正確性的方法,能夠對代碼進行修復和完善,這樣可讓咱們的代碼寫的更好,更加完善,經過邊界狀況,正確狀況的測試也能找出代碼中不正確的地方。一開始不知道怎麼作,參考了關於單元測試。本身有了不少思考,成長了許多。編程語言