1. 程式人生 > >面向對象之:封裝,多態

面向對象之:封裝,多態

面向對象 事情 字符 通過 簡單 固定 關系 動物 屬性

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

1. 封裝: 把很多數據封裝到一個對象中. 把固定功能的代碼封裝到一個代碼塊, 函數, 對象, 打包成模塊. 這都屬於封裝的思想. 具體的情況具體分析. 比如. 你寫了一個很牛B的函數. 那這個也可以被稱為封裝. 在面向對象思想中. 是把一些看似無關緊要的內容組合到一起統一進行存儲和使用. 這就是封裝.

2. 繼承: 子類可以自動擁有父類中除了私有屬性外的其他所有內容. 說白了, 兒子可以隨便用爹的東西. 但是朋友們, 一定要認清楚一個事情. 必須先有爹, 後有兒子. 順序不能亂, 在python中實現繼承非常簡單. 在聲明類的時候, 在類名後面添加一個小括號,就可以完成繼承關系. 那麽什麽情況可以使用繼承呢? 單純的從代碼層面上來看. 兩個類具有相同的功能或者特征的時候. 可以采用繼承的形式. 提取一個父類, 這個父類中編寫著兩個類相同的部分. 然後兩個類分別取繼承這個類就可以了. 這樣寫的好處是我們可以避免寫很多重復的功能和代碼. 如果從語義中去分析的話. 會簡單很多. 如果語境中出現了x是一種y. 這時, y是一種泛化的概念. x比y更加具體. 那這時x就是y的?類. 比如. 貓是一種動物. 貓繼承動物. 動物能動. 貓也能動. 這時貓在創建的時候就有了動物的"動"這個屬性.

3. 多態: 同一個對象, 多種形態. 這個在python中其實是很不容易說明?的. 因為我們一直在用. 只是沒有具體的說. 比如. 我們創建一個變量a = 10 , 我們知道此時a是整數類型. 但是我們可以通過程序讓a = "alex", 這時, a又變成了字符串類型. 這是我們都知道的. 但是, 我要告訴你的是. 這個就是多態性. 同一個變量a可以是多種形態。

面向對象之:封裝,多態