更新時間:2022-10-18 來源:黑馬程序員 瀏覽量:
面向?qū)ο笫且环N符合人類思維習慣的編程思想?,F(xiàn)實生活中存在各種形態(tài)不同的事物,這些事物之前存在著各種各樣的聯(lián)系。在程序中使用對象映射現(xiàn)實中的事物,使用對象的關系描述事物之間的聯(lián)系,這種思想就是面向?qū)ο蟆?br/>
提到面向?qū)ο?,自然會想到面向過程,面向過程就是分析出解決問題所需要的步驟,然后用函數(shù)把這些步驟逐一實現(xiàn),使用的時候依次調(diào)用就可以了。面向?qū)ο髣t是把構成問題的事物按照一定規(guī)則劃分為多個獨立的對象,然后通過調(diào)用對象的方法來解決問題。當然,一個應用程序會包含多個對象,通過多個對象的相互配合實現(xiàn)應用程序的功能,這樣當應用程序功能發(fā)生變動時,只需要修改個別的對象就可以了,從而使代碼維護更容易。面向?qū)ο蟮奶攸c主要可以概括為封裝性、繼承性和多態(tài)性,下面針對這3種特點進行簡單介紹。
封裝是面向?qū)ο蟮暮诵乃枷?,它有兩層含義:一層含義是指把對象的屬性和行為看成是一個密不可分的整體,將這兩者“封裝”在一起(即封裝在對象中);另一層含義是指“信息隱藏”,將不想讓外界知道的信息隱藏起來。例如,駕校的學員學開車,只需要知道如何操作汽車,無須知道汽車內(nèi)部是如何工作的。
繼承性主要描述的是類與類之間的關系,通過繼承,可以在無須重新編寫原有類的情況下,對原有類的功能進行擴展。例如,有一個汽車里,該類描述了汽車的普通特性和功能,進一步再產(chǎn)生轎車類,而轎車類中不僅應該包含汽車的特性和功能,還應該增加轎車特有的功能,這時,可以讓轎車類繼承汽車類,在轎車類中單獨添加轎車特性和方法就可以了。繼承不僅增強了代碼的復用性、提高了開發(fā)效率,還降低了程序產(chǎn)生錯誤的可能性,為程序的維護以及擴展提供了便利。
多態(tài)性是指在一個類中定義的屬性和方法被其他類繼承后,它們可以具有不同的數(shù)據(jù)類型或表現(xiàn)出不同的行為,這使得同一個屬性和方法在不同的類中具有不同的語義。例如,當聽到“Cut”這個單詞時,理發(fā)師的行為是剪發(fā),演員的行為是停止表演,不同的對象所表現(xiàn)的行為是不一樣的。多態(tài)的特性使程序更抽象、便捷,有助于開發(fā)人員設計程序時分組協(xié)同開發(fā)。
面向?qū)ο蟮乃枷雰H靠上面的介紹是無法真正理解的,只有通過大量的實踐去學習和理解,才能將面向?qū)ο笏枷胝嬲I悟。