Lab2
這兩天先是做了hw2,一直在糾結那個自動調用的toString();hw2沒做完就跑來做了Lab2,發現果然還是要一步一步來,UCB的教學方法太厲害了,引導著你一步一步的學習,本寶好久沒有體會到學習的樂趣了啊,UCB厲害,hw也好Lab也好不光是為了測試你的,題目本身就是在教學啊,跪服跪服,終於明白所謂的教學質量高是什麽意思了,希望我大BU也能有這種教學質量,對得起學費,hahahah,下面說一下lab2裏學到的。
1.避免重復代碼,幾種類型的constructor沒有必要對每一個進行編輯,在數據類型類似的情況下,可以通過調用一個基本constructor實現。那麽假如數據類型不一樣呢,假如參數為String形式的,也就是直接輸入一個分數這種,先調用個parseInt?然後再用this( ,)這樣?
2.sumOfThree這個可以用兩種形式,
Fraction sumOfTwo = f1.add(f2);
Fraction sumOfThree = sumOfTwo.add(f2);
或者
Fraction sumOfTwo = f1.add(f2);
Fraction sumOfThree = f1.add(f2).add(f2);
都可以實現,但是第二種方式會多建立一個constructor.
3.一個是local variable 和instance variable 同樣名字的情況下,要給instance variable前面加this;第二就是 static variable的用法。
4.求最大公約數,這個卡了我好長時間,小學數學階除也忘了,給的提示a mod b也沒明白啥意思,看了地裏才知道要用%算法啊,太笨了簡直,自信心受到毀滅性沖擊。不過這個主要目的是體現recursive的用法,叠代。日後要註意培養自己能夠靈活應用叠代的思維能力。
Lab2