Java中的面向過(guò)程與面向?qū)ο笥惺裁床煌??相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
為蒙城等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及蒙城網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)、蒙城網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
面向過(guò)程是指,允許在程序中定義函數(shù)或者方法。也許你覺(jué)得奇怪,難道還有語(yǔ)言不能定義函數(shù)方法么?早期的basic就不可以,只能用跳轉(zhuǎn)來(lái)實(shí)現(xiàn)函數(shù)調(diào)用。
面向?qū)ο蟾徊?,允許你將“過(guò)程”(函數(shù)、方法)以及它們的上下文相關(guān)的數(shù)據(jù)封裝成對(duì)象,同時(shí)對(duì)象允許通過(guò)繼承和派生以及類型限定符限制開(kāi)發(fā)者對(duì)它的一部分的進(jìn)行訪問(wèn)和修改。
我不想把面向?qū)ο蠛蜕钪械氖挛锶ヂ?lián)系,固然它們有些似是而非的聯(lián)系,但是這對(duì)于你理解編程的本質(zhì)毫無(wú)意義,甚至?xí)`導(dǎo)你。面向?qū)ο蟮谋举|(zhì)不是模擬現(xiàn)實(shí)世界的對(duì)象,而是為了開(kāi)發(fā)強(qiáng)壯、簡(jiǎn)單和可維護(hù)的代碼。
將面向?qū)ο笳f(shuō)的通俗易懂的壞處就是看上去是通俗易懂了,其實(shí)你懂的根本就是錯(cuò)的東西,而且這使得新手完全誤入歧途。
面向?qū)ο蟮娜筇匦裕ǚ庋b、繼承、多態(tài)),核心一條是封裝,不允許你訪問(wèn)私有的函數(shù)和成員這個(gè)相信很多人都理解,其實(shí)還有一層,就是不允許開(kāi)發(fā)者隨便修改代碼,因?yàn)殡S意修改代碼和隨意修改變量的值一樣是災(zāi)禍之源。
在面向過(guò)程中,如果你發(fā)現(xiàn)程序不合適了,需要增加功能,你會(huì)怎么做?你會(huì)直接去修改某個(gè)函數(shù)的代碼,但是如果這個(gè)函數(shù)不是你寫(xiě)的,你不完全理解,這么做會(huì)可能出問(wèn)題。另一個(gè)問(wèn)題是,你不知道現(xiàn)有的代碼是怎么調(diào)用這個(gè)函數(shù)的。換一句話說(shuō),你修改了它,你這里是滿意了,別的地方的調(diào)用呢?會(huì)不會(huì)有問(wèn)題?
那么怎么辦?你想,這不簡(jiǎn)單,我把這個(gè)函數(shù)拷貝一份,在拷貝上修改,不動(dòng)原來(lái)的函數(shù)。這樣問(wèn)題又來(lái)了。如果原來(lái)函數(shù)的編寫(xiě)者發(fā)現(xiàn)了一個(gè)bug,他修復(fù)了,可是你拷貝的那份的bug不會(huì)自己修復(fù),除非修改的時(shí)候要知道這代碼都被拷貝了幾份,一一修改。
面向?qū)ο笫窃趺唇鉀Q這個(gè)問(wèn)題的呢?開(kāi)發(fā)者通過(guò)編寫(xiě)一個(gè)類,實(shí)現(xiàn)一個(gè)功能,這個(gè)類中一些方法被定義為虛擬方法。當(dāng)你需要修改這個(gè)方法適應(yīng)新的需求的時(shí)候,你不是直接去修改這個(gè)類的源代碼,而是派生一個(gè)類,去重寫(xiě)這些允許你自定義的虛擬方法,這樣你就在可控的范圍內(nèi)自定義了原來(lái)的程序。但是因?yàn)閯e的地方調(diào)用的是基類的類型,而你并沒(méi)有修改基類的代碼,所以不會(huì)造成原先的代碼出問(wèn)題。而且,基類的原作者如果發(fā)現(xiàn)一個(gè)非虛擬的方法有bug,他直接修改就好了。因?yàn)槟愕念愂抢^承的這些代碼,而不是拷貝粘貼的,所以修改一處,就全部變過(guò)來(lái)了。
看完上述內(nèi)容,你們掌握J(rèn)ava中的面向過(guò)程與面向?qū)ο笥惺裁床煌姆椒藛??如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
網(wǎng)頁(yè)標(biāo)題:Java中的面向過(guò)程與面向?qū)ο笥惺裁床煌?/a>
當(dāng)前網(wǎng)址:http://chinadenli.net/article30/jiidpo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、Google、靜態(tài)網(wǎng)站、自適應(yīng)網(wǎng)站、微信小程序、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)