物件導向常見的術語

2022-09-17 11:57:20 字數 1506 閱讀 9134

抽象/實現

抽象指對現實世界問題和實體的本質表現,行為和特徵建模,建立乙個相關的子集,可以用於 繪程式結構,從而實現這種模型。抽象不僅包括這種模型的資料屬性,還定義了這些資料的介面。

對某種抽象的實現就是對此資料及與之相關介面的現實化(realization)。現實化這個過程對於客戶 程式應當是透明而且無關的。 

封裝/介面

封裝描述了對資料/資訊進行隱藏的觀念,它對資料屬性提供介面和訪問函式。通過任何客戶端直接對資料的訪問,無視介面,與封裝性都是背道而馳的,除非程式設計師允許這些操作。作為實現的 一部分,客戶端根本就不需要知道在封裝之後,資料屬性是如何組織的。在python中,所有的類屬性都是公開的,但名字可能被「混淆」了,以阻止未經授權的訪問,但僅此而已,再沒有其他預防措施了。這就需要在設計時,對資料提供相應的介面,以免客戶程式通過不規範的操作來訪問封裝的資料屬性。

注意:封裝絕不是等於「把不想讓別人看到、以後可能修改的東西用private隱藏起來」

真正的封裝是,經過深入的思考,做出良好的抽象,給出「完整且最小」的介面,並使得內部細節可以對外透明

(注意:對外透明的意思是外部呼叫者可以順利的得到自己想要的任何功能,完全意識不到內部細節的存在)

合成

合成擴充了對類的 述,使得多個不同的類合成為乙個大的類,來解決現實問題。合成 述了 乙個異常複雜的系統,比如乙個類由其它類組成,更小的元件也可能是其它的類,資料屬性及行為, 所有這些合在一起,彼此是「有乙個」的關係。

派生/繼承/繼承結構

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

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

繼承結構表示多「代」派生,可以述成乙個「族譜」,連續的子類,與祖先類都有關係。

泛化/特化

基於繼承

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

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

多型與多型性

多型指的是同一種事物的多種狀態:水這種事物有多種不同的狀態:冰,水蒸氣

多型性的概念指出了物件如何通過他們共同的屬性和動作來操作及訪問,而不需考慮他們具體的類。

冰,水蒸氣,都繼承於水,它們都有乙個同名的方法就是變成雲,但是冰.變雲(),與水蒸氣.變雲()是截然不同的過程,雖然呼叫的方法都一樣

自省/反射

自省也稱作反射,這個性質展示了某物件是如何在執行期取得自身資訊的。如果傳乙個物件給你,你可以查出它有什麼能力,這是一項強大的特性。如果python不支援某種形式的自省功能,dir和type內建函式,將很難正常工作。還有那些特殊屬性,像__dict__,__name__及__doc__

學習物件導向之物件導向的術語

類類作為設計藍圖來建立物件的 段,它描述了物件的特徵 該物件具有什麼樣的屬性,怎樣使用物件完成一些任務,他對事件進行怎樣的響應等!物件物件是類的乙個例項,通常通過呼叫類的乙個建構函式來建立它!方法方法是在類中定義的函式,一般而言,乙個方法描述了物件可以執行的乙個操作www.cppcns.com!屬性...

物件導向程式設計的術語

物件導向程式設計中的術語主要包括類 物件 封裝 繼承 多型性和訊息傳遞。物件導向的思想通過這些術語得到了具體的體現。類 是對具有相同型別的物件的抽象。乙個物件所包含的資料和 可以通過類來構造。物件 是執行期的基本實體,它是乙個封裝了資料和操作這些資料的 的邏輯實體。封裝 將資料以及對資料的操作整合到...

物件導向程式設計之術語

術語 含義屬性 一小段資訊,例如顏色 高度或重量,描述物件的乙個特性 字段物件內部的指定值 操作屬於物件的一段 方法操作的同義詞 訊息從乙個物件傳送到另乙個物件的請求 呼叫執行操作,以響應訊息 執行呼叫的同義詞 關聯兩個物件之間的直接或間接連線 聚合強關聯,隱含著某種部分 一體層次結構 復合強聚合,...