1. 程式人生 > >面向對象之復習

面向對象之復習

ati 第一個 實例 輸出 getattr 屬性和方法 執行 基礎上 核心

面向過程編程思想:核心是《過程》,就是先幹什麽再幹什麽,過程流程化

面向對象編程思想:核心是《對象》,對象其實本質上是一個容器,用來盛放功能和屬性的容器,是數據與方法的結合體。

類與對象:類是在對象的基礎上的一種分門別類,主要是為了節省內存,本來是對象先產生,在產生類,但是註意,在程序中,是先產生了類,在根據類去一個一個的實例化出一個個對象。

對象:對象是由類產生的一個個對象,所以我們前面所學的l=[1,2,3],這個l也是列表的對象,列表也是一個類,依次類推,一切皆對象。

面向對象三大特性:封裝,繼承,多態

封裝:本質上是一個整合的思想,將所有的東西統一規劃到一起,方便管理,在封裝裏面的__開頭的都是一個隱藏,為的是不讓外界看到

    但是,藏起來並不是目的,目的是為了讓東西更安全一點,所以會提供一個接口,讓外界來訪問,將這個方法變成一個屬性名,會給外界一個錯覺,覺得這僅僅是一個屬性。

繼承:其實是一種強耦合的思想,將兩個類聯系在了一起,父類中含有子類的共有屬性和方法,子類通過繼承來訪問父類中的屬性與方法。

    通過super().屬性/方法來訪問

組合:組合是繼承的一種,但不是強耦合思想,是將一個類中的對象當作另一個類的參數傳遞進去,這個類也可以直接訪問類中的所有東西,但是沒有耦合起來

多態:抽象類

   鴨子類型

綁定方法:給對象使用的,由對象調用,會自動的把對象本身當作第一個參數傳給self

class method:本質上是一個裝飾器,裝飾裏面的方法,被裝飾的方法就是類的綁定方法。是將cls和self進行了統一

static method:非綁定方法,將類中的一個函數變成了一個普通函數

property:將方法變成了一個屬性,必須由一個返回值

反射:

hasattr:判斷對象/屬性是否存在

getattr:對象/屬性的值

setattr:修改對象/屬性的值

delattr:刪除對象/屬性的值

類的內置方法

__Str__():格式化輸出,自定義輸出內容:當打印對象的時候

__del__():在文件快要結束的時候開始執行

__setter__

__str__:

面向對象之復習