廣州培訓(xùn)java哪家好?專業(yè)編程培訓(xùn)機(jī)構(gòu)去哪好?推薦教育!
在廣州Java培訓(xùn)班的*個(gè)月,我開(kāi)始系統(tǒng)的學(xué)習(xí)起Java編程。首先是學(xué)習(xí)Java基礎(chǔ),接觸OOP(面向?qū)ο缶幊?,剛開(kāi)始使用Java編寫程序的時(shí)候感覺(jué)很別扭,因?yàn)槲以缫粤?xí)慣用C來(lái)編寫,很欣賞C的簡(jiǎn)潔性和高效性,喜歡C簡(jiǎn)練而表達(dá)能力豐富的風(fēng)格。
特別忍受不了Java運(yùn)行起來(lái)慢吞吞的速度,以及相對(duì)冗長(zhǎng)的代碼,一個(gè)很簡(jiǎn)單的功能模塊,要寫好多類,一個(gè)類調(diào)用一個(gè)類,心里的抵觸情緒很強(qiáng)。在隨后的學(xué)習(xí)中逐漸了解到Java語(yǔ)言的面向?qū)ο蟮奶攸c(diǎn),逐漸喜歡上了Java編程。
我對(duì)Java的面向?qū)ο蟮奶匦宰聊チ季?,自認(rèn)為有所領(lǐng)悟,也開(kāi)始有意識(shí)的運(yùn)用OOP風(fēng)格來(lái)寫程序,然而還是經(jīng)常會(huì)覺(jué)得不知道應(yīng)該怎樣提煉類,面對(duì)一個(gè)具體的問(wèn)題的時(shí)候,會(huì)覺(jué)得腦子里千頭萬(wàn)緒的,不知道怎么下手,一不小心又會(huì)回到原來(lái)的思路上去。
舉個(gè)例子,要發(fā)廣告郵件,廣告郵件列表存在數(shù)據(jù)庫(kù)里面。倘若用C來(lái)寫的話,一般會(huì)這樣思考,先把郵件內(nèi)容讀入,然后連接數(shù)據(jù)庫(kù),循環(huán)取郵件地址,調(diào)用本機(jī)的qmail的sendmail命令發(fā)送。然后考慮用Java來(lái)實(shí)現(xiàn),既然是OOP,就不能什么代碼都塞到main過(guò)程里面,于是就設(shè)計(jì)了三個(gè)類:一個(gè)類是負(fù)責(zé)讀取數(shù)據(jù)庫(kù),取郵件地址,調(diào)用qmail的sendmail命令發(fā)送。 一個(gè)類是讀郵件內(nèi)容,MIME編碼成HTML格式的,再加上郵件頭。一個(gè)主類負(fù)責(zé)從命令讀參數(shù),處理命令行參數(shù),調(diào)用發(fā)email的類。
把一件工作按照功能劃分為3個(gè)模塊分別處理,每個(gè)類完成一件模塊任務(wù)。仔細(xì)的分析一下,就會(huì)發(fā)現(xiàn)這樣的設(shè)計(jì)完全是從程序員實(shí)現(xiàn)程序功能的角度來(lái)設(shè)計(jì)的,或者說(shuō)設(shè)計(jì)類的時(shí)候,是自低向上的,從機(jī)器的角度到現(xiàn)實(shí)世界的角度來(lái)分析問(wèn)題的。因此在設(shè)計(jì)的時(shí)候,就已經(jīng)把程序編程實(shí)現(xiàn)的細(xì)節(jié)都考慮進(jìn)去了,企圖從底層實(shí)現(xiàn)程序這樣的出發(fā)點(diǎn)來(lái)達(dá)到滿足現(xiàn)實(shí)世界的軟件需求的目標(biāo)。
這樣的分析方法其實(shí)是不適用于Java這樣面向?qū)ο蟮木幊陶Z(yǔ)言,因?yàn)槿绻挠肅語(yǔ)言,封裝兩個(gè)C函數(shù),都會(huì)比Java實(shí)現(xiàn)起來(lái)輕松的多,邏輯上也清楚的多。我覺(jué)得面向?qū)ο蟮木柙谟诳紤]問(wèn)題的思路是從現(xiàn)實(shí)世界的人類思維習(xí)慣出發(fā)的,只要領(lǐng)會(huì)了這一點(diǎn),就領(lǐng)會(huì)了面向?qū)ο蟮乃季S方法。
如果對(duì)java感興趣,不妨來(lái)廣州校區(qū)看看!