day 18總結(類的繼承,拷貝和記憶體管理)

2021-10-20 07:36:18 字數 1330 閱讀 5488

一、繼承

定義怎麼繼承

注意繼承的東西

在子類中新增屬性和方法

新增物件屬性

子類直接擁有父類的屬性和方法的過程就是繼承

class 子類(父類)如果定義類的時候沒有新增父類,預設繼承python的基類object

python中子類可以繼承父類所有的屬性和方法

新增類屬性:直接在子類中定義新的類屬性

在子類中__init__方法中通過super()去呼叫父類中的__init__

子類:繼承者

同乙個子類可以同時繼承多個父類:class 子類(父類1, 父類2, …)

新增方法:直接在子類中定義新的方法。在子類新增方法時候可以對父類方法進行重寫。在子類中可以通過super().方法的形式來呼叫父類中的方法(不能在靜態方法中使用super())

:被繼承,父類又叫超累類

super的用法:可以通過super在子類中呼叫父類中的方法。super().方法()直接呼叫當前的父類的指定方法super(類, 物件).方法()呼叫指定類的父類的指定方法(要求物件必須是前面的類的物件)

1.多繼承

子類可以繼承所有父類的類屬性和方法,但是只能繼承第乙個父類的物件屬性

二、私有化

訪問許可權(程式設計嘗試):

1.公開的:public,在類的內部可以使用、類的外部也可以使用還可以被繼承(python中所有的屬性和方法都是公開的)

2.保護的:在類的內部可以用、可以被繼承

3.私有的:只能在類的內部可以用__nn是私有的,python是假的私有化,在__的名字前加_類名

三、拷貝from copy import copy, deepcopy

copy(淺拷貝)

deepcopy(深拷貝)

複製被拷貝的物件產生乙個新物件,用新物件給物件賦值

複製被拷貝的物件產生乙個新物件,用新物件給物件賦值

如果被拷貝的物件有子物件,淺拷貝不複製原來的子物件

如果被拷貝的物件有子物件,淺拷貝會複製原來的子物件

四、記憶體管理

記憶體開闢

記憶體釋放

python中所有的型別都是類,所有的資料都是物件,物件都儲存在堆裡面

python中記憶體的某個資料是否銷毀(對應的記憶體是否釋放),看這個資料在程式中的引用個數,當引用個數大於0不會被銷毀,個數為0時會被銷毀。

在儲存資料時。相同不可變資料,只儲存乙份,相同可變資料一定會儲存多份

day18 類陣列和try catch

類陣列 類陣列的基本形態 var obj 在這裡我們執行 obj.push d 最後我們發現輸出結果為 關鍵點在於其為 array.prototype.push function target arr len this.length for var i 0 i最後列印的結果為 1,3,4,5,6,7...

day 18 物件導向的 繼承

一 概念性知識 物件導向的三大特徵 繼承,多型,封裝 繼承是建立新類的一種方法,在python中,新建的類可以繼承乙個或多個父類,父類稱作基類或超類,新建的類又稱作派生類或子類。繼承的好處 可以節約 提高了 的復用性 提高了 的維護性 類與類之間產生了關係,是多型的前提 初識繼承 子類以及子類的物件...

day19 繼承記憶體管理和拷貝

繼承是讓子類直接擁有父類的屬性和方法的過程就是繼承 子類 繼承者 父類 被繼承者 超類 class 子類 父類1,父類2,父類3 類的說明文件 類的內容 說明 預設情況下,類繼承object class 類名 class.類名 object python中的類支援多繼承 class person n...