面向?qū)ο缶幊痰某S梅椒◤V告上線泡點(diǎn)直升100級(jí),免費(fèi)領(lǐng)取召喚術(shù)
2021-06-08
面向?qū)ο缶幊痰某S梅椒?/p>
廣告泡泡點(diǎn)高達(dá)100級(jí),免費(fèi)領(lǐng)取召喚法術(shù)
面向?qū)ο蟮某S眯g(shù)語
抽象是指對現(xiàn)實(shí)世界問題和實(shí)體的本質(zhì)性能、行為和特征進(jìn)行建模,并建立相關(guān)的子集,可以用來描述程序的結(jié)構(gòu),從而實(shí)現(xiàn)該模型。抽象不僅包括該模型的數(shù)據(jù)屬性,還定義了這些數(shù)據(jù)的接口。
某種抽象的實(shí)現(xiàn)就是這個(gè)數(shù)據(jù)及其相關(guān)接口的實(shí)現(xiàn)()。實(shí)現(xiàn)過程應(yīng)該是透明的,與客戶端程序無關(guān)。
封裝描述了隱藏?cái)?shù)據(jù)/信息的概念。它為數(shù)據(jù)屬性提供接口和訪問功能。通過任何客戶端忽略接口直接訪問數(shù)據(jù)與封裝相反,除非程序員允許這些操作。作為實(shí)現(xiàn)的一部分,客戶端不需要知道封裝后的數(shù)據(jù)屬性是如何組織的。中,所有的類屬性都是公開的,但名稱可能會(huì)“混淆”以防止未經(jīng)授權(quán)的訪問,僅此而已,沒有其他預(yù)防措施。這就需要在設(shè)計(jì)中為數(shù)據(jù)提供相應(yīng)的接口數(shù)據(jù)結(jié)構(gòu)用面向?qū)ο蠓椒ㄅcc++描述,防止客戶端程序通過不規(guī)則的操作訪問封裝的數(shù)據(jù)屬性。
注意:封裝絕不等同于“隱藏你不想讓別人看到并且以后可能會(huì)修改的東西”
真正的封裝是在深入思考后做出很好的抽象,給出一個(gè)“完整極簡”的界面,讓內(nèi)部細(xì)節(jié)對外透明
(注:外部透明是指外部調(diào)用者可以在不知道內(nèi)部細(xì)節(jié)存在的情況下順利獲得他們想要的任何功能)
綜合擴(kuò)展了類的敘述,使多個(gè)不同的類組合成一個(gè)大類來解決現(xiàn)實(shí)世界的問題。綜合描述了一個(gè)極其復(fù)雜的系統(tǒng)。例如,一個(gè)類由其他類組成,更小的組件也可能是其他類、數(shù)據(jù)屬性和方法。所有這些都具有“一體”的關(guān)系。
派生描述了從子類派生新特征的過程。新類保留了現(xiàn)有類類型中所有必需的數(shù)據(jù)和行為,但允許修改或其他自定義操作,而無需修改原始類的定義。
繼承描述了子類的屬性從父類繼承的方式。繼承結(jié)構(gòu)代表多個(gè)“世代”的派生,可以說是一個(gè)“譜系”,連續(xù)的子類與祖先類相關(guān)。
泛化意味著所有子類都具有與其父類和祖先類相同的特征。
特化描述了所有子類的定制化,即哪些屬性使它與其祖先類不同。
多態(tài)是指同一事物的多種狀態(tài):水有許多不同的狀態(tài):冰、水蒸氣
多態(tài)性的概念指出了如何通過對象的公共屬性和動(dòng)作來操作和訪問對象,而不管它們的具體類是什么。
冰和水蒸氣都繼承自水,都有一個(gè)同名的方法,那就是變成云,但是冰到云和水蒸氣到云是完全不同的過程,雖然使用的方法都是一樣的。
自省也稱為反思。此屬性顯示對象如何在運(yùn)行時(shí)獲取自己的信息。如果您將一個(gè)對象傳遞給您,您可以了解它具有哪些功能。這是一個(gè)強(qiáng)大的功能。如果不支持某種形式的自省函數(shù),例如 dir 和 type 內(nèi)置函數(shù),將很難正常工作。還有那些特殊的屬性,比如數(shù)據(jù)結(jié)構(gòu)用面向?qū)ο蠓椒ㄅcc++描述,和