實驗報告二 面向對象程序設計
一、面向對象程序設計-1
1、檢查點要求
參考 http://www.cnblogs.com/rocedu/p/6371315.html#SECUNITTEST
參考 http://www.cnblogs.com/rocedu/p/6736847.html
提交最後三個測試用例都通過的截圖,截圖上要有畫圖加水印,輸入自己的學號。
2、截圖
3、相關代碼的碼雲鏈接
MyUtil.java
MyUtilTest.java
二、面向對象程序設計-2
1、檢查點要求
參考 積極主動敲代碼,使用JUnit學習Java (http://www.cnblogs.com/rocedu/p/4837092.html)
參考http://www.cnblogs.com/rocedu/p/6736847.html
以 TDD的方式研究學習StringBuffer,提交你的單元測試用例和測試通過的截圖,截圖要加上學號水印。
2、截圖
3、相關代碼的碼雲鏈接
StringBufferDemo.java
StringBufferDemoTest.java
三、面向對象程序設計-3
1、檢查點要求
參考http://www.cnblogs.com/rocedu/p/6736847.html
對設計模式示例進行擴充,體會OCP原則和DIP原則的應用,初步理解設計模式
用自己的學號%6進行取余運算,根據結果進行代碼擴充:
0: 讓系統支持Byte類,並在MyDoc類中添加測試代碼表明添加正確,提交測試代碼和運行結的截圖,加上學號水印
1: 讓系統支持Short類,並在MyDoc類中添加測試代碼表明添加正確,提交測試代碼和運行結的截圖,加上學號水印
2: 讓系統支持Boolean類,並在MyDoc類中添加測試代碼表明添加正確,提交測試代碼和運行結的截圖,加上學號水印
3: 讓系統支持Long類,並在MyDoc類中添加測試代碼表明添加正確,提交測試代碼和運行結的截圖,加上學號水印
4: 讓系統支持Float類,並在MyDoc類中添加測試代碼表明添加正確,提交測試代碼和運行結的截圖,加上學號水印
5: 讓系統支持Double類,並在MyDoc類中添加測試代碼表明添加正確,提交測試代碼和運行結的截圖,加上學號水印
2、截圖
我做的是:系統支持Short類,截圖如圖所示;
3、相關代碼的碼雲鏈接
MyDoc.java
四、面向對象程序設計-4
1、檢查點要求
提交:單元測試代碼和運行成功截圖及碼雲上代碼鏈接,截圖要加上學號水印
參考http://www.cnblogs.com/rocedu/p/6736847.html
任務:以TDD的方式開發一個復數類Complex,要求如下:
// 定義屬性並生成getter,setter double RealPart; double ImagePart; // 定義構造函數 public Complex() public Complex(double R,double I)
//Override Object public boolean equals(Object obj) public String toString()
// 定義公有方法:加減乘除 Complex ComplexAdd(Complex a) Complex ComplexSub(Complex a) Complex ComplexMulti(Complex a) Complex ComplexDiv(Complex a)
2、截圖
3、相關代碼的碼雲鏈接
Complex.java
ComplexTest.java
五、實驗PSP
遇到的問題
1、關於StringBuffer()
StringBuffer a = new StringBuffer("StringBuffer");
StringBuffer a = new StringBuffer();
a.append("StringBuffer");
在實驗中,我發現這兩個寫法是有區別的。前者是將"StringBuffer"
寫入a之後再分配16個字符長度的緩存;後者直接在緩存區裏面寫入(當緩沖區寫完了就會繼續分配)。
兩者最直接的體現就是a.capacity()
的數值不同,前者為28,後者只有16(剛好比前面多出16個字符長,即緩存區的長度)。
2、關於老師的博客
圖中似乎有一個錯誤,運行結果應該是
16
buffer = StringBuffer
12
或者將第5行改為buffer.append("tringBuffer12345");
運行結果應該是
34
buffer = StringBuffer12345
17
3、關於復數除法運算
參考鏈接: 復數類及各種操作(Java)
裏面對復數除法運算的處理值得學習,即先求一個數的倒,再轉化為乘法運算。
實驗報告二 面向對象程序設計