物件導向程式設計03(封裝 繼承 多型 重寫 MRO)

2021-09-24 03:39:07 字數 1390 閱讀 8093

根據需求將屬性和方法封裝到乙個抽象的類中

在使用的時候,只要按照自己的需求去呼叫,不必了解實現的細節

➢封裝 封裝是物件導向程式設計的三大特徵之一。

封裝有兩方面的含義:

1.將資料(屬性)和行為(方法)包裝到類物件中。在方法內部對屬性進行操作,在類物件的外部呼叫方法。這樣,無需關心方法內部的具體實現細節,從而隔離了複雜度。

2.在類物件的內部通過訪問控制把某些屬性和方法隱藏起來,不允許在類物件的外部直接訪問,而是在

類物件的內部對外提供公開的介面方法(例如getter和setter) 以訪問隱藏的資訊。這樣,就對隱藏的資訊進行了保護。

class

student

(object):

def_init_ (self)

: self._score =

90def get_ score(self)

:return self._ score

def set_ score(self, score):if

0<= score <=

100:

self._ score = score

else

:raise valueerror(

"成績必須在0^100之間"

)

class

dog(

object):

defeat

(self)

:print

("吃仮"

)def

drink

(self)

:print

("喝水"

)def

swim

(self)

:print

(「游泳」)

當幾個類物件中有共同的屬性和方法時,就可以把這些屬性和方法抽象並提取到乙個基類中,每個類物件特有的屬性和方法還是在本類物件中定義,這樣,只需要讓每個類物件都繼承這個基類,就可以訪問基類中的屬性和方法了。繼承基類的每個類物件被稱為派生類。基類也被稱為父類或超類,派生類也被稱為子類。

python中的所有類物件都繼承自乙個統-的基類: object。 這就是為什麼我們在定義類物件時要在類名後面新增(object)。

除了封裝,繼承也是物件導向程式設計的三大特徵之一。 繼承是實現**復用的重要手段。

如果子類對繼承自父類的某個屬性或方法不滿意,可以在子類中對其進行重寫從而提供自定義的實現,重寫的方式為:在子類中定義與父類中同名的屬性或方法(包括裝飾器)。

子類重寫父類的屬性後,通過子類或其實例物件只能訪問子類中重寫後的屬性,而無法再訪問父類中被重寫的屬性。

子類重寫父類的方法後,通過子類或其實例物件只能呼叫子類中重寫後的方法,而無法再呼叫父類中被重寫的方法。

物件導向程式設計03 封裝 繼承 重寫 MRO 多型

根據需求將屬性和方法封裝到乙個抽象的類中,在使用的時候,只要按照自己的需求去呼叫,不必了解實現的細節。封裝有兩方面的含義 1 將資料 屬性 和行為 方法 包裝到類物件中。在方法內部對屬性進行操作,在類物件的外部呼叫方法。這樣,無需關心方法內部的具體實現細節,從而隔離了複雜度。2 在類物件的內部通過訪...

203 07 05 封裝 繼承 多型

繼承 1 oc是單一繼承 2 封裝 隱藏內部 m檔案 實現 穩定外部 h檔案 介面。屬性封裝了例項變數 方法封裝了具體實現 類封裝了方法和屬性 封裝的好處 使用更加簡單,變數更加安全,可以隱藏內部實現細節,開發速度快 3 私有變數 private,私有方法 在.m中實現,在.h中沒有宣告,私有成員變...

物件導向程式設計(封裝 繼承 多型)

1 保證 資料的安全性 2 遮蔽 複雜性 3 封裝型別 普通 封裝成方法 方法都封裝在乙個類中。using system namespace lesson01 public void close class mainclass 1 被繼承類 父類 基類 繼承類 子類 派生類 2 子類可以擁有父類的全...