物件導向 類的本質

2021-10-21 20:03:24 字數 685 閱讀 4587

類的概念和物件的概念是緊密交織在一起的,因為我們在談論乙個類物件時不得不提到它的類,但是類和物件偏偏又有著重要差別。

物件是存在於時間和空間中存在的具體實體,而類僅僅代表一種抽象,即乙個物件的本質。

類是一組物件,它們擁有共同的結構,共同的行為和共同的語義。

沒有共同的結構、共同的行為、共同的語義的物件不能被劃分為乙個類。

乙個物件,不是乙個類,是對應類的乙個例項。

乙個單獨的物件是乙個具體實體,在整個系統中扮演著某個角色,而類則記錄了所有相關物件之間的共同結構和行為。由此得出,類在一種抽象上和它所有的客戶建立起來一種協議,類的介面中記錄了這些內容。

協議就好比一種契約,可以區分乙個類的外部檢視和內部檢視。

類的外部檢視通過對外暴露的介面體現,強調了抽象,隱藏了它的結構和行為的private資訊,這個介面主要由所有的操作宣告構成,這些操作適用於這個類的所有物件,也可能包括其他類、常量、變數和異常的宣告。

類的內部介面則是它的內部實現,包含了類行為的private資訊。

乙個類的實現主要由類介面的定義域所有操作的實現組成。

物件的狀態必須在它對應的類中有某種表現形式,所以通常會表示為常量或變數宣告,作為類介面的protected或private部分。通過這種方式,乙個類的所有例項的共同表示形式被封裝起來,對這種修改的封裝不會在功能上影響任何外部客戶。

物件導向類

1.類和例項 類是抽象的模板,比如student類,而例項是根據類建立出來的乙個個具體的 物件 每個物件都擁有相同的方法,但各自的資料可能不同。記憶體位址 給例項繫結屬性 由於類可以起到模板的作用,因此,可以在建立例項的時候,把一些我們認為必須繫結的屬性強制填寫進去 2.資料封裝 就是在類裡面定義方...

物件導向類

類的宣告 functiona es6 class a2 生成例項 newa newa2 如何繼承 借助建構函式繼承 functionp p.prototype.say function 父類的原型物件無法被子類繼承 functionc 借助原型鏈繼承 functionp functionc c.pr...

物件導向類

類與例項 1 類的宣告 1 第一種方式 用建構函式模擬類的方式 function animal 2 第二種方式 es6 class class animal2 2 生成例項 new animal new animal2 類與繼承 如何實現繼承 1 借助建構函式實現繼承 function parent...