首頁常見問題正文

Java培訓(xùn):面向?qū)ο蟮乃枷?/h1>

更新時(shí)間:2022-10-18 來源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

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

  提到面向?qū)ο?,自然?huì)想到面向過程,面向過程就是分析出解決問題所需要的步驟,然后用函數(shù)把這些步驟逐一實(shí)現(xiàn),使用的時(shí)候依次調(diào)用就可以了。面向?qū)ο髣t是把構(gòu)成問題的事物按照一定規(guī)則劃分為多個(gè)獨(dú)立的對象,然后通過調(diào)用對象的方法來解決問題。當(dāng)然,一個(gè)應(yīng)用程序會(huì)包含多個(gè)對象,通過多個(gè)對象的相互配合實(shí)現(xiàn)應(yīng)用程序的功能,這樣當(dāng)應(yīng)用程序功能發(fā)生變動(dòng)時(shí),只需要修改個(gè)別的對象就可以了,從而使代碼維護(hù)更容易。面向?qū)ο蟮奶攸c(diǎn)主要可以概括為封裝性、繼承性和多態(tài)性,下面針對這3種特點(diǎn)進(jìn)行簡單介紹。

  1.封裝性

  封裝是面向?qū)ο蟮暮诵乃枷?,它有兩層含義:一層含義是指把對象的屬性和行為看成是一個(gè)密不可分的整體,將這兩者“封裝”在一起(即封裝在對象中);另一層含義是指“信息隱藏”,將不想讓外界知道的信息隱藏起來。例如,駕校的學(xué)員學(xué)開車,只需要知道如何操作汽車,無須知道汽車內(nèi)部是如何工作的。

  2.繼承性

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

  3.多態(tài)性

  多態(tài)性是指在一個(gè)類中定義的屬性和方法被其他類繼承后,它們可以具有不同的數(shù)據(jù)類型或表現(xiàn)出不同的行為,這使得同一個(gè)屬性和方法在不同的類中具有不同的語義。例如,當(dāng)聽到“Cut”這個(gè)單詞時(shí),理發(fā)師的行為是剪發(fā),演員的行為是停止表演,不同的對象所表現(xiàn)的行為是不一樣的。多態(tài)的特性使程序更抽象、便捷,有助于開發(fā)人員設(shè)計(jì)程序時(shí)分組協(xié)同開發(fā)。

  面向?qū)ο蟮乃枷雰H靠上面的介紹是無法真正理解的,只有通過大量的實(shí)踐去學(xué)習(xí)和理解,才能將面向?qū)ο笏枷胝嬲I(lǐng)悟。

分享到:

在線咨詢 我要報(bào)名
和我們在線交談!