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