首頁(yè)技術(shù)文章正文

如何理解面向?qū)ο蟮姆庋b、繼承和多態(tài)?

更新時(shí)間:2020-09-09 來(lái)源:黑馬程序員 瀏覽量:

面向?qū)ο笫且环N符合人類思維習(xí)慣的編程思想。現(xiàn)實(shí)生活中存在各種形態(tài)不同的事物,這些事物之間存在著各種各樣的聯(lián)系。在程序中使用對(duì)象來(lái)映射現(xiàn)實(shí)中的事物,使用對(duì)象的關(guān)系來(lái)描述事物之間的聯(lián)系,這種思想就是面向?qū)ο蟆?br/>

對(duì)于學(xué)習(xí)過(guò)其他編程語(yǔ)言的人員來(lái)說(shuō),可能會(huì)想到面向過(guò)程。面向過(guò)程就是分析出解決問(wèn)題所需要的步驟,然后用函數(shù)把這些步驟一一實(shí)現(xiàn),使用的時(shí)候依次調(diào)用就可以了。面向?qū)ο髣t是把構(gòu)成問(wèn)題的事務(wù)按照一定規(guī)則劃分為多個(gè)獨(dú)立的對(duì)象,然后通過(guò)調(diào)用對(duì)象的方法來(lái)解決問(wèn)題。當(dāng)然,一個(gè)應(yīng)用程序會(huì)包含多個(gè)對(duì)象,通過(guò)多個(gè)對(duì)象的相互配合即可實(shí)現(xiàn)應(yīng)用程序所需的功能,這樣當(dāng)應(yīng)用程序功能發(fā)生變動(dòng)時(shí),只需要修改個(gè)別的對(duì)象就可以了,這使得代碼更容易得到維護(hù)。

1599639523329_面向?qū)ο缶幊?jpg



面向?qū)ο蟮奶攸c(diǎn)主要可以概括為封裝、繼承和多態(tài),接下來(lái)針對(duì)這三種特性進(jìn)行簡(jiǎn)單介紹。

1.封裝

封裝是面向?qū)ο蟮暮诵乃枷?,將?duì)象的屬性和行為封裝起來(lái),不需要讓外界知道具體實(shí)現(xiàn)細(xì)節(jié),這就是封裝思想。例如,用戶使用電腦,只需要使用手指敲鍵盤就可以了,無(wú)需知道電腦內(nèi)部是如何工作的,即使用戶可能碰巧知道電腦的工作原理,但在使用時(shí),并不完全依賴電腦工作原理這些細(xì)節(jié)。

2.繼承

繼承主要描述的就是類與類之間的關(guān)系,通過(guò)繼承,可以在無(wú)需重新編寫原有類的情況下,對(duì)原有類的功能進(jìn)行擴(kuò)展。例如,有一個(gè)汽車的類,該類中描述了汽車的普通屬性和功能,而轎車的類中不僅應(yīng)該包含汽車的屬性和功能,還應(yīng)該增加轎車特有的屬性和功能,這時(shí),可以讓轎車類繼承汽車類,在轎車類中單獨(dú)添加轎車特有的屬性和功能就可以了。繼承不僅增強(qiáng)了代碼的復(fù)用性、提高開發(fā)效率,還為程序的維護(hù)補(bǔ)充提供了便利。

3.多態(tài)

多態(tài)指的是在一個(gè)類中定義的屬性和功能被其他類繼承后,當(dāng)把子類對(duì)象直接賦值給父類引用變量時(shí),相同引用類型的變量調(diào)用同一個(gè)方法所呈現(xiàn)出的多種不同行為特性。例如,當(dāng)聽到“Cut” 這個(gè)單詞時(shí),理發(fā)師的行為表現(xiàn)是剪發(fā),演員的行為表現(xiàn)是停止表演等。不同的對(duì)象,所表現(xiàn)的行為是不一樣的。

面向?qū)ο蟮乃枷胫粦{上面的介紹是無(wú)法讓初學(xué)者真正理解的,初學(xué)者只有通過(guò)大量的實(shí)踐練習(xí)和思考,才能真正領(lǐng)悟面向?qū)ο笏枷搿?br/>

猜你喜歡:

Java基礎(chǔ)之面向?qū)ο?/a>

java基礎(chǔ)之面向?qū)ο?繼承、接口、多態(tài)

java面向?qū)ο笏枷朐趺蠢斫?

C/C++面向?qū)ο蠛蚸ava面向?qū)ο蟮膮^(qū)別

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!