更新時(shí)間:2019-12-03 來(lái)源:黑馬程序員 瀏覽量:
面向?qū)ο缶幊?OOP)
Java是一種支持并發(fā)、基于類(lèi)和面向?qū)ο蟮挠?jì)算機(jī)編程語(yǔ)言。面向?qū)ο筌浖_(kāi)發(fā)的優(yōu)勢(shì)如下:
?(1)代碼開(kāi)發(fā)是模塊化的,易于維護(hù)和修改。
?(2)代碼重復(fù)用。
?(3)提高代碼的可靠性和靈活性。
?(4)提高代碼的可理解性。
面向?qū)ο缶幊叹哂性S多重要的特性,如封裝、繼承、多態(tài)和抽象。
封裝
封裝使對(duì)象能夠隱藏內(nèi)部特性和行為。對(duì)象提供其他對(duì)象可以訪(fǎng)問(wèn)的方法來(lái)更改其內(nèi)部數(shù)據(jù)。在Java中,有三個(gè)修飾符:public、private和protected。每個(gè)修飾符賦予位于同一個(gè)包或不同包中的其他對(duì)象不同的訪(fǎng)問(wèn)權(quán)限。
以下是使用封裝的一些好處:
通過(guò)隱藏對(duì)象的屬性來(lái)保護(hù)對(duì)象的內(nèi)部狀態(tài);提高代碼的可用性和可維護(hù)性,因?yàn)閷?duì)象的行為可以單獨(dú)更改或擴(kuò)展;禁止對(duì)象之間的不良交互以提高模塊性。
多態(tài)
多態(tài)性是編程語(yǔ)言向不同的底層數(shù)據(jù)類(lèi)型展示相同接口的能力。多態(tài)類(lèi)型上的操作可以應(yīng)用于其他類(lèi)型的值。
繼承
繼承使對(duì)象能夠從基類(lèi)中獲取字段和方法。繼承提供代碼重用的代碼,并且還可以在不修改它們的情況下向現(xiàn)有類(lèi)添加新特性。
抽象
抽象是將概念與具體示例分離的步驟,因此創(chuàng)建類(lèi)時(shí)應(yīng)基于其功能而不是實(shí)現(xiàn)細(xì)節(jié)。Java支持創(chuàng)建只公開(kāi)接口而不公開(kāi)方法實(shí)現(xiàn)的抽象類(lèi)。這種抽象技術(shù)的主要目的是將類(lèi)的行為與實(shí)現(xiàn)細(xì)節(jié)分離。推薦了解黑馬程序員java培訓(xùn)課程。
抽象和封裝的不同點(diǎn)
抽象和封裝是相輔相成的概念。一方面,抽象涉及對(duì)象的行為。另一方面,封裝關(guān)注對(duì)象行為的細(xì)節(jié)。封裝通常是通過(guò)隱藏對(duì)象的內(nèi)部狀態(tài)信息來(lái)完成的。因此,封裝可以看作是一種提供抽象的策略。