1. 程式人生 > >實驗報告二 面向對象程序設計

實驗報告二 面向對象程序設計

article float .net short 鏈接 進行 寫入 equal 自己的

技術分享圖片

一、面向對象程序設計-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)

裏面對復數除法運算的處理值得學習,即先求一個數的倒,再轉化為乘法運算。

實驗報告二 面向對象程序設計