繼承
- 繼承的本質(zhì)就是重復代碼不要重復編寫
- 概念
- 語法
- 子類繼承自父類,可以直接享受父類中已經(jīng)封裝好的方法,不需要再次開放
- 子類中應該根據(jù)職責,封裝子類特有的屬性和方法
- 幾個專業(yè)術語的關系:子類派生 父類基類 繼承==派生
- 繼承具有傳遞性,即子類同時擁有父類的繼承屬性
- 方法的重寫
- 當父類方法不能滿足子類需求怎么辦
- 重寫—在子類中重新編寫—在子類中使用同樣的方法名進行代碼編寫即可
- 擴展—父類方法是子類方法對一部分
- 在子類方法中重寫父類方法
- 在需要位置采用super().父類方法來調(diào)用父親方法的執(zhí)行
- 代碼其他的位置針對子類的特定需求,編寫子類特有代碼實現(xiàn)即可
- super
- 是一個特殊的類
- super()就是使用super類創(chuàng)建出來的對象
- 最常使用的場景就是在重寫父類方法時,調(diào)用在父類中封裝的方法實現(xiàn)
- 父類的私有屬性和私有方法
- 子類對象不能在自己的方法內(nèi)部,直接訪問父親的私有屬性和私有方法
- 子類對象可以通過父類的公有方法去間接訪問父類的私有
- 多繼承—子類可以擁有多個父類,擁有所有父親的屬性和方法
- 新式類和舊式類
- 新式類—以object為基類,推薦使用
- 舊式類—不以object為基類
- class 類名(object):
多態(tài)
- 面向對象的三大特征
- 封裝根據(jù)職責將屬性和方法封裝到一個抽象類中
- 繼承實現(xiàn)了代碼的重用,相同代碼不需要重復的編寫
- 多態(tài)不同的子類對象調(diào)用相同的父類方法,產(chǎn)生不同的執(zhí)行結果
- 認識多態(tài)
- 多態(tài)可以增加代碼的靈活度
- 以繼承和重寫父類方法為前提
- 是調(diào)用方法的技巧,不會影響到類的內(nèi)部設計
類
- 類的結構
- 面向對象的開發(fā)第一步就是設計類
- 使用類名()創(chuàng)建對象,創(chuàng)建對象的動作有兩部分
- 在內(nèi)存中為對象分配空間
- 調(diào)用初始化方法__init__為對象初始化
- 對象創(chuàng)建后,內(nèi)存中就有了一個對象實實在在的存在—實例
- 創(chuàng)建出來的對象叫做類的實例
- 創(chuàng)建對象的動作叫做實例化
- 對象的屬性叫做實例屬性
- 類其實也是一種對象—類對象在內(nèi)存中僅有一個
- 既然類是一種特殊的對象—也可以定義類的屬性和方法
- 類屬性和類方法
- 類屬性—給一個類對象定義的屬性或者說特征
- 類方法—針對類對象定義的方法—類方法內(nèi)部可以直接訪問類屬性或者調(diào)用其他的類方法
- 定義
@classmethod
def 類方法名(cls):
pass
- 類方法需要用修飾器@classmethod標識—告訴解釋器這是一個類方法
- 類方法的第一個參數(shù)是cls
- 由哪一個類調(diào)用的方法,方法內(nèi)的cls就是哪一個類的引用
- 這個參數(shù)的實例方法的第一個參數(shù)和self類型
- 提示使用其他名稱也可以,不過習慣使用cls
- 通過類名調(diào)用類方法,調(diào)用方法時,不需要傳遞cls參數(shù)
- 方法內(nèi)部
- cls.可以訪問類的屬性
- cls.可以調(diào)用其他方法
- 實現(xiàn)一個類,可以記載自己創(chuàng)建了多少個對象,這次要求將打印封裝成方法
class Tool:
count = 0 # 類屬性
@classmethod
def show_tool_count(cls):
print("the number of tools is %d" % cls.count)
def __init__(self, name):
self.name = name
Tool.count += 1
tool1 = Tool("斧頭")
tool2 = Tool("小刀")
Tool.show_tool_count()
- 靜態(tài)方法—如果一個方法既不訪問實例屬性也不訪問類屬性則可以將這個方法封裝為靜態(tài)方法
- 選擇何種方法封裝的基本準則
- 實例方法—方法內(nèi)部需要訪問實例屬性
- 類方法—方法內(nèi)部只需要訪問類屬性
- 靜態(tài)方法—方法內(nèi)部,不需要訪問實例屬性和類屬性
- 實例方法—方法內(nèi)部既需要訪問實例屬性又需要訪問類屬性
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

在臨洮等地區(qū),都構建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供
網(wǎng)站設計、成都網(wǎng)站建設 網(wǎng)站設計制作按需求定制開發(fā),公司網(wǎng)站建設,企業(yè)網(wǎng)站建設,
品牌網(wǎng)站設計,
成都全網(wǎng)營銷,
成都外貿(mào)網(wǎng)站建設,臨洮網(wǎng)站建設費用合理。
當前標題:Python部分【六】-創(chuàng)新互聯(lián)
瀏覽地址:
http://m.jiaotiyi.com/article/joosi.html