物件導向三大特性 封裝 繼承 多型

2021-08-21 01:29:31 字數 1265 閱讀 3781

封裝:

封裝:是將類的某些資訊隱藏在類的內部,不允許外部程式直接訪問,而是通過該類提供的方法來實現對隱藏資訊的操作和訪問。

存在乙個邊界,邊界之內的細節隱藏起來,只留下對外的藉口(如:筆記本,手機,飲水機)

封裝的好處:

① 只能通過規定方法訪問資料,安全、易用、簡單、易維護。

② 隱藏類的實現細節

③ 方便加入控制語句

④ 方便修改實現

經過封裝的屬性,不能直接訪問,要通過公共屬性get/set方法訪問。

多型:

賦值相容

規則:凡是在需要用到父類(車)物件

的地方,都可以使用

其共有子類(三輪車)來代替。

什麼是多型?:

事物在執行過程中存在不同的狀態。

什麼是多型?

不同的物件,接收的相同的訊息,產生的響應不同

多型的體現:重寫和過載等。父類的引用指向子類的物件

多型的前提

必須是類與類之間有關係。要麼繼承,要麼實現。

通常還有乙個前提:存在覆蓋。

多型的好處:

1.可替換性(substitutability)。多型對已存在**具有可替換性。例如,多型對圓circle類工作,對其他任何圓形幾何體,如圓環,也同樣工作。

2.可擴充性(extensibility)。多型對**具有可擴充性。增加新的子類不影響已存在類的多型性、繼承性,以及其他特性的執行和操作。實際上新加子類更容易獲得多型功能。例如,在實現了圓錐、半圓錐以及半球體的多型基礎上,很容易增添球體類的多型性。

3.介面性(inte***ce-ability)。多型是超類通過方法簽名,向子類提供了乙個共同介面,由子類來完善或者覆蓋它而實現的。如圖8.3所示。圖中超類shape規定了兩個實現多型的介面方法,computearea()以及computevolume()。子類,如circle和sphere為了實現多型,完善或者覆蓋這兩個介面方法。

4.靈活性(flexibility)。它在應用中體現了靈活多樣的操作,提高了使用效率。

5.簡化性(simplicity)。多型簡化對應用軟體的**編寫和修改過程,尤其在處理大量物件的運算和操作時,這個特點尤為突出和重要

引用

point p = new point();的含義:首先例項化物件(new point),然後定義乙個引用p指向這個例項。p1 = p2;並不是將例項p2賦值給例項p1,而是改變了引用的關係,此時p1、p2位址相同都指向了p2的這個例項。

物件導向 三大特性(封裝 繼承 多型)

一 封裝 目的 保護類,讓類更加安全。做法 讓類裡面的成員變數變為私有 即訪問修飾符 的,做相應的方法或者屬性去間接的操作成員變數 訪問修飾符 private 私有的只能在該類中訪問 protected 受保護的只能在該類和它的子類中訪問 public 公有的在任何地方都可以訪問 封裝成員方法來間接...

物件導向三大特性 繼承 封裝 多型

繼承 即子類可以繼承父類的除了所有屬性 方法外的所有內容。子類繼承父類,只需要在類名後面加上 父類名 即可。如下 定義乙個父類,animals class animals pass 再定義乙個子類cat,繼承父類animals class cat animals pass 這樣cat類即可繼承父類的...

物件導向三大特性 封裝,繼承,多型

把乙個物件的屬性私有化,同時提供一些可以被外界訪問的屬性的方法。即並不是所有屬性都需要提供。子類繼承父類,子類擁有父類的所有屬性和方法,但是不能訪問父類的私有屬性和方法,只能擁有 子類可以擁有自己的屬性和方法 子類可以用自己方式實現父類方法,即重寫。程式中定義的引用變數所指向的具體型別 和 該引用變...