面向?qū)ο螅∣bject-Oriented,簡稱OO)可以簡單定義為:按照我們認(rèn)識客觀世界的思考方式,采用對象或者實(shí)體的概念建立模型,來模擬客觀世界的一種分析、設(shè)計或者實(shí)現(xiàn)軟件的方法。通過面向?qū)ο蟮睦砟睿梢允沟迷O(shè)計的軟件系統(tǒng)能與現(xiàn)實(shí)世界中的系統(tǒng)較好地對應(yīng)起來。面向?qū)ο蟮姆治?、設(shè)計方法,會涉及到三個基本特征:封裝、繼承和多態(tài)。
首先我們來看什么是類和對象。
1、類和對象
類(Class):具有相似內(nèi)部狀態(tài)和運(yùn)行規(guī)律的實(shí)體的一種抽象,類的概念來自于人們認(rèn)識自然、認(rèn)識社會的過程。例如,人們可以將汽車可以認(rèn)為是一種類,這個概念是將轎車、公交車、卡車等多種具有類似特性但又不完全相同的概念進(jìn)行了抽象和概括。
而特定的實(shí)體、個體,例如一輛汽車,則為對象(Object)。換一種描述方法來說,對象是類的一個實(shí)例(Instance,也可以理解為實(shí)體)。再比如,一只貓,也是一個對象,并且是動物類的一個實(shí)例。
一般情況下,我們把對象的內(nèi)部狀態(tài)稱為屬性(Property),運(yùn)行規(guī)律稱為方法(Method),在有的編程語言中,往往稱為成員變量和成員函數(shù)。在后面講到Java語言的基本語法時,還會結(jié)合具體代碼深入分析。
2、封裝
封裝(Encapsulation)是一種信息隱藏的概念,讓某個類僅僅公開必須要讓外界知道的內(nèi)容,而隱藏其它一切內(nèi)容,不同的類或者對象之間并不需要過多地了解對方內(nèi)部的具體狀態(tài)或運(yùn)行規(guī)律;這樣設(shè)計的好處是,當(dāng)某個類發(fā)生改動時,這個改動對其他類的影響可以降低,也即減少不同類之間的關(guān)聯(lián)、耦合程度。
例如,汽車類在封裝時,提供幾個對其用戶類的操作方法:點(diǎn)火、啟動、剎車、熄火(關(guān)閉發(fā)動機(jī))等,汽車類本身還有品牌、型號、產(chǎn)地等屬性。汽車類對于用戶類,隱藏了點(diǎn)火方法的實(shí)現(xiàn)細(xì)節(jié),用戶類不需要關(guān)注汽車完成點(diǎn)火的具體過程,這部分的設(shè)計,汽車和用戶類沒有必要產(chǎn)生關(guān)聯(lián),就可以封裝起來、隱藏內(nèi)部細(xì)節(jié),只提供一個方法由用戶操作。
以上就是長沙一度軟件培訓(xùn)java培訓(xùn)機(jī)構(gòu)的小編針對“Java面向?qū)ο蠡A(chǔ)之什么是面向?qū)ο缶幊?rdquo;的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。