# -*- coding:utf-8 -*-# ***** 繼承
# 如果子類定義了乙個屬性名稱和父類重名,會使用子類自己的。
# 優先從自己的開始找如果自己沒有才會使用父類的
# ***** 介面繼承 import abc# 子類繼承父類 必須執行父類方法 重寫方法
# 規範子類
# ******* 繼承順序 __mro__方法可以檢視 經典類沒有這個方法
# 新式類 按照 廣度優先 python3 類默繼承object
# 舊式類 按照 深度優先 python2
# **** 子類呼叫父類方法
# 用父類名點方法名傳入self (有必要時可以傳入其他引數) fu.run(self,name)
# supper方法 super().方法名() 不需要傳self 不用寫父類名
# *** 多型不同類 繼承同一父類 例項呼叫父類相同方法 最後實現過程不同
python中標準型別就是多型概念的乙個很好的解釋
s = ("1",2,3) # 不同型別使用同樣方法 實現相同效果
print(s.__len__())
s ="123123"# 字串 元組 字典 都有相同的方法(繼承相同的父類)
print(len(s))
s = [1,2,3,2]
print(s.__len__())
# *** 封裝 (是一種思想) 分為內部(類),外部(例項)思想:把使用者使用不到的屬性隱藏 (確定使用不到)以後再使用通過內部方法
外部使用定義為介面函式
封裝類外部呼叫帶有_單下劃線開頭的屬性 python有一種約定 在外部不建議呼叫這些屬性
這只是乙個約定 可以呼叫 建議不要呼叫
屬性雙下劃線開頭 python自動修改屬性名格式為:(_類名__屬性名)
呼叫雙下劃開頭屬性 可以使用內部方法(介面函式)直接呼叫 外部例項呼叫方法
封裝,繼承,多型
一 1 封裝 該隱藏隱藏,該公開的公開 屬性隱藏,同時提供get set方法 有些方法應該隱藏 方法宣告公開,實現隱藏。實現的改變對架構的影響最小 2 繼承 一般 特殊 單繼承 乙個類最多只能有乙個直接父類。類之間可以形成樹狀關係 根據訪問許可權,子類如果可以訪問父類的屬性和方法,就能繼承 priv...
繼承 封裝 多型
一 封裝 封裝是實現物件導向程式設計的第一步,封裝就是將資料或函式等集合在乙個個的單元中 我們稱之為類 被封裝的物件通常被稱為抽象資料型別。封裝的意義 封裝的意義在於保護或者防止 資料 被我們無意中破壞。在物件導向程式設計中資料被看作是乙個中心的元素並且和使用它的函式結合的很密切,從而保護它不被其它...
封裝 繼承 多型
一 封裝 封裝是實現物件導向程式設計的第一步,封裝就是將資料或函式等集合在乙個個的單元中 我們稱之為類 被封裝的物件通常被稱為抽象資料型別。封裝的意義 封裝的意義在於保護或者防止 資料 被我們無意中破壞。在物件導向程式設計中資料被看作是乙個中心的元素並且和使用它的函式結合的很密切,從而保護它不被其它...