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