小說翻譯,日語相關(guān)轉(zhuǎn)移至http://blog.hjenglish.com/liwei
8.3再追加當(dāng)自己陷入僵局時(shí),最好和同事討論下,看看他們?nèi)绾巫龅膥~第一次作業(yè)還沒做時(shí),我聽劉(武)講過他的思路,雖然不是很難的題目,但聽他說過后,自己的思路更加清晰了,然后沒花多少時(shí)間就做出來了。今天無法解決的時(shí)候,去看了下他的情況,他開口就說正方形只繼承了**,剛好就是我的難點(diǎn)。于是,按他的方式解決了。正方形只能繼承一個(gè),我繼承的是矩形,那如何算到菱形里呢?在類里不可能,那就在實(shí)例化時(shí)直接修改菱形的幾個(gè)靜態(tài)變量,加到菱形里??吹剿姆绞?,眼睛就一亮,我怎么就沒有去想實(shí)例化時(shí)呢?修改時(shí),要讀取邊長(zhǎng),于是試了下屬性,中間出了個(gè)問題,原來屬性名不能和變量同名。因?yàn)槟莻€(gè)變量私有,我把四邊形的那個(gè)變量改為protected了,不知有沒有更好的解決方法~~
?
總結(jié)昨天的想法,主要有以下問題1.正方形只能繼承一個(gè)2.計(jì)算四邊形面積調(diào)用三角形3.計(jì)算非四邊形,包括圓和三角形今天實(shí)際編碼后,第一個(gè)問題仍有難度,尚需考慮。第二個(gè)問題很簡(jiǎn)單,直接將三角形的面積計(jì)算方法COPY過來就可以了。第三個(gè)問題寫一個(gè)新類NotQuadrangle,包含幾個(gè)靜態(tài)變量,讓圓和三角形繼承它就可以了,要顯示數(shù)據(jù)時(shí),直接調(diào)用NotQuadrangle。剛才顯示了下結(jié)果,正方形沒算到菱形里去~~哎,現(xiàn)在還沒思路~~郁悶~~
對(duì)于求所有實(shí)例的平均邊長(zhǎng),最大最小邊長(zhǎng),初一看,覺得很簡(jiǎn)單,把所有邊拿來一平均,不就完成了嗎~再一想,沒那么簡(jiǎn)單,看看我的程序,實(shí)例的作用域都在不同的else里,如何保存這些實(shí)例呢。再說類的變量也不能直接用,還是得從類內(nèi)部著手。說到類的內(nèi)部,就想到在構(gòu)造函數(shù)里做文章。只要實(shí)例化一個(gè)類,就把當(dāng)前實(shí)例的平均邊長(zhǎng),最大最小邊求出。嗯,求所有實(shí)例的話,那就用3個(gè)靜態(tài)變量保存以前的值,實(shí)例化當(dāng)前的一個(gè)對(duì)象時(shí),就修改那3個(gè)值。這個(gè)思路可以滿足初步的要求。再仔細(xì)想想細(xì)節(jié)。當(dāng)子類實(shí)例化時(shí),會(huì)調(diào)用父類,這樣只要是四邊形就都會(huì)算進(jìn)來。滿足“各種形狀類型的包含關(guān)系”,但也有問題,正方形既是菱形又是矩形,而我實(shí)現(xiàn)它時(shí),繼承的是矩形,計(jì)算所有菱形的平均邊長(zhǎng)時(shí),會(huì)忽略掉正方形。還有一個(gè)我個(gè)人設(shè)計(jì)上的問題,計(jì)算四邊形面積時(shí),我是將其分成兩個(gè)三角形來計(jì)算的,直接調(diào)用的三角形求面積方法,這就會(huì)增加到三角形的平均邊長(zhǎng)里去。要說到問題,還不止這些。非四邊形包括圓和三角形,要合在一起就不能用前面的方法。圓是一條邊吧?呵呵,應(yīng)該是的。看來問題多多啊,嗯,慢慢來解決。有一句話沒看懂?。骸耙罄妙惖闹貙憽?。<重寫?不是重構(gòu),重載。專有名詞?如果只是重新寫類,爲(wèi)何要特意寫出來?啊,算了,最后再考慮吧~啊,服了,漢字變成點(diǎn)了~~(如果不能輸入中文,請(qǐng)切換到HTML視圖,再切換到正常視圖) 這個(gè)難道是專門針對(duì)日文系統(tǒng)的人寫的?害我多打了幾個(gè)繁體字~
posted on 2006-08-02 18:21 李威 閱讀(176) 評(píng)論(0) 編輯 收藏
Powered by: BlogJava Copyright © 李威