1.1 案例分析
全班同學中隨機的找出一名同學,打印這名同學的個人信息。
我們對本案例進行分析,得出如下分析結果:
1.存儲全班同學信息(姓名、年齡)
2.打印全班同學每一個人的信息(姓名、年齡)
3.在班級總人數範圍內,隨機產生一個隨機數,查找該隨機數所對應的同學信息(姓名、年齡)並打印
隨機點名器明確地分爲了三個功能。如果將多個獨立功能的代碼寫到一起,則代碼相對冗長,我們可以針對不同的功能可以將其封裝到一個方法中,將完整獨立的功能分離出來。
而在存儲同學姓名時,如果對每一個同學都定義一個變量進行姓名存儲,則會出現過多孤立的變量,很難一次性將全部數據持有。此時,我們採用ArrayList集合來解決多個學生信息的存儲問題。
1.2 重構內容分析
將原來使用的簡單Student類,封裝爲包裝屬性和方法的相對完整的Student類,並將所有訪問屬性的地方改爲通過get/set方法訪問。
重構部分已使用紅色樣色字體表示