千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > Python中關(guān)于OPP的常用術(shù)語

Python中關(guān)于OPP的常用術(shù)語

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-11-07 23:24:24 1699370664

1抽象/實(shí)現(xiàn)

抽象指對現(xiàn)實(shí)世界問題和實(shí)體的本質(zhì)表現(xiàn),行為和特征建模,建立一個相關(guān)的子集,可以用于繪程序結(jié)構(gòu),從而實(shí)現(xiàn)這種模型。抽象不僅包括這種模型的數(shù)據(jù)屬性,還定義了這些數(shù)據(jù)的接口。

對某種抽象的實(shí)現(xiàn)就是對此數(shù)據(jù)及與之相關(guān)接口的現(xiàn)實(shí)化(realization)。現(xiàn)實(shí)化這個過程對于客戶程序應(yīng)當(dāng)是透明而且無關(guān)的。

2封裝/接口

封裝描述了對數(shù)據(jù)/信息進(jìn)行隱藏的觀念,它對數(shù)據(jù)屬性提供接口和訪問函數(shù)。通過任何客戶端直接對數(shù)據(jù)的訪問,無視接口,與封裝性都是背道而馳的,除非程序員允許這些操作。作為實(shí)現(xiàn)的一部分,客戶端根本就不需要知道在封裝之后,數(shù)據(jù)屬性是如何組織的。在Python中,所有的類屬性都是公開的,但名字可能被“混淆”了,以阻止未經(jīng)授權(quán)的訪問,但僅此而已,再沒有其他預(yù)防措施了。這就需要在設(shè)計(jì)時,對數(shù)據(jù)提供相應(yīng)的接口,以免客戶程序通過不規(guī)范的操作來存取封裝的數(shù)據(jù)屬性。

注意:封裝絕不是等于“把不想讓別人看到、以后可能修改的東西用private隱藏起來”

真正的封裝是,經(jīng)過深入的思考,做出良好的抽象,給出“完整且最小”的接口,并使得內(nèi)部細(xì)節(jié)可以對外透明

(注意:對外透明的意思是,外部調(diào)用者可以順利的得到自己想要的任何功能,完全意識不到內(nèi)部細(xì)節(jié)的存在)

3合成

合成擴(kuò)充了對類的述,使得多個不同的類合成為一個大的類,來解決現(xiàn)實(shí)問題。合成述了一個異常復(fù)雜的系統(tǒng),比如一個類由其它類組成,更小的組件也可能是其它的類,數(shù)據(jù)屬性及行為,所有這些合在一起,彼此是“有一個”的關(guān)系。

4派生/繼承/繼承結(jié)構(gòu)

派生描述了子類衍生出新的特性,新類保留已存類類型中所有需要的數(shù)據(jù)和行為,但允許修改或者其它的自定義操作,都不會修改原類的定義。

繼承描述了子類屬性從祖先類繼承這樣一種方式

繼承結(jié)構(gòu)表示多“代”派生,可以述成一個“族譜”,連續(xù)的子類,與祖先類都有關(guān)系。

5泛化/特化

基于繼承

泛化表示所有子類與其父類及祖先類有一樣的特點(diǎn)。

特化描述所有子類的自定義,也就是,什么屬性讓它與其祖先類不同。

6多態(tài)與多態(tài)性

多態(tài)指的是同一種事物的多種狀態(tài):水這種事物有多種不同的狀態(tài):冰,水蒸氣

多態(tài)性的概念指出了對象如何通過他們共同的屬性和動作來操作及訪問,而不需考慮他們具體的類。

冰,水蒸氣,都繼承于水,它們都有一個同名的方法就是變成云,但是冰.變云(),與水蒸氣.變云()是截然不同的過程,雖然調(diào)用的方法都一樣

7自省/反射

自省也稱作反射,這個性質(zhì)展示了某對象是如何在運(yùn)行期取得自身信息的。如果傳一個對象給你,你可以查出它有什么能力,這是一項(xiàng)強(qiáng)大的特性。如果Python不支持某種形式的自省功能,dir和type內(nèi)建函數(shù),將很難正常工作。還有那些特殊屬性,像__dict__,__name__及__doc__

以上內(nèi)容為大家介紹了Python中關(guān)于OPP的常用術(shù)語,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT