python 面向對象編程——封裝 繼承

面向對象


  • 類(Class): 用來描述具有相同的屬性和方法的對象的集合。它定義了該集合中每個對象所共有的屬性和方法。對象是類的實例。
  • 類變量:類變量在整個實例化的對象中是公用的。類變量定義在類中且在函數體之外。類變量通常不作爲實例變量使用。
  • 數據成員:類變量或者實例變量, 用於處理類及其實例對象的相關的數據。
  • 方法重寫:如果從父類繼承的方法不能滿足子類的需求,可以對其進行改寫,這個過程叫方法的覆蓋(override),也稱爲方法的重寫。
  • 實例變量:定義在方法中的變量,只作用於當前實例的類。
  • 繼承:即一個派生類(derived class)繼承基類(base class)的字段和方法。繼承也允許把一個派生類的對象作爲一個基類對象對待。
  • 實例化:創建一個類的實例,類的具體對象。
  • 方法:類中定義的函數。
  • 對象:通過類定義的數據結構實例。對象包括兩個數據成員(類變量和實例變量)和方法。

 

示例

 

封裝

一、什麼是封裝

  在程序設計中,封裝是對具體對象的一種抽象,即將某些部分隱藏起來,在程序外部看不到,其

含義是其他程序無法調用。

  要了解封裝,離不開“私有化”,就是將類或者是函數中的某些屬性限制在某個區域之內,外部無法調用。

  二、爲什麼要封裝

  

  封裝方法的主要原因是:隔離複雜度(比如:電視機,我們看見的就是一個黑匣子,其實裏面有很多電器元件,對於

用戶來說,我們不需要清楚裏面都有些元件,電視機把那些電器元件封裝在黑匣子裏,提供給用戶的只是幾個按鈕接口,

通過按鈕就能實現對電視機的操作。)

  提示:在編程語言裏,對外提供的接口(接口可理解爲了一個入口),就是函數,稱爲接口函數,這與接口的概念還

不一樣,接口代表一組接口函數的集合體。

 

示例

 

 

 

 

 

 

繼承

面向對象編程 語言的一個主要功能就是“繼承”。繼承是指這樣一種能力:它可以使用現有類的所有功能,並在無需重新編寫原來的類的情況下對這些功能進行擴展。

  通過繼承創建的新類稱爲“子類”或“派生類”,被繼承的類稱爲“基類”、“父類”或“超類”,繼承的過程,就是從一般到特殊的過程。在某些 OOP 語言中,一個子類可以繼承多個基類。但是一般情況下,一個子類只能有一個基類,要實現多重繼承,可以通過多級繼承來實現。

  繼承概念的實現方式主要有2類:實現繼承、接口繼承。

  1. 實現繼承是指使用基類的屬性和方法而無需額外編碼的能力。
  2. 接口繼承是指僅使用屬性和方法的名稱、但是子類必須提供實現的能力(子類重構父類方法)。

  在考慮使用繼承時,有一點需要注意,那就是兩個類之間的關係應該是“屬於”關係。例如,Employee 是一個人,Manager 也是一個人,因此這兩個類都可以繼承 Person 類。但是 Leg 類卻不能繼承 Person 類,因爲腿並不是一個人。

 

 

父類重寫

 

多類繼承

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章