bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

關于python中繼承機制的案例分析-創新互聯

創新互聯www.cdcxhl.cn八線動態BGP香港云服務器提供商,新人活動買多久送多久,劃算不套路!

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名注冊雅安服務器托管、營銷軟件、網站建設、雁塔網站維護、網站推廣。

小編給大家分享一下關于python中繼承機制的案例分析,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

繼承機制經常用于創建和現有類功能類似的新類,又或是新類只需要在現有類基礎上添加一些成員(屬性和方法),但又不想直接將現有

類代碼復制給新類。也就是說,通過使用繼承這種機制,可以輕松實現類的重復使用。

舉個例子,假設現有一個 Shape 類,該類的 draw() 方法可以在屏幕上畫出指定的形狀,現在需要創建一個 Form 類,要求此類不但可以

在屏幕上畫出指定的形狀,還可以計算出所畫形狀的面積。要創建這樣的類,笨方法是將 draw() 方法直接復制到新類中,并添加計算面

積的方法。實現代碼如下所示:

class Shape:
    def draw(self,content):
        print("畫",content)
class Form:
    def draw(self,content):
        print("畫",content)
    def area(self):
        #....
        print("此圖形的面積為...")

當然還有更簡單的方法,就是使用類的繼承機制。實現方法為:讓 From 類繼承 Shape 類,這樣當 From 類對象調用 draw() 方法時,

Python 解釋器會先去 From 中找以 draw 為名的方法,如果找不到,它還會自動去 Shape 類中找。如此,我們只需在 From 類中添加

計算面積的方法即可,示例代碼如下:

class Shape:
    def draw(self,content):
        print("畫",content)
class Form(Shape):
    def area(self):
        #....
        print("此圖形的面積為...")

上面代碼中,class From(Shape) 就表示 From 繼承 Shape。

Python 中,實現繼承的類稱為子類,被繼承的類稱為父類(也可稱為基類、超類)。因此在上面這個樣例中,From 是子類,Shape 是父類。

子類繼承父類時,只需在定義子類時,將父類(可以是多個)放在子類之后的圓括號里即可。語法格式如下:

class 類名(父類1, 父類2, ...):
    #類定義部分

注意,有讀者可能還聽說過“派生”這個詞匯,它和繼承是一個意思,只是觀察角度不同而已。換句話話,繼承是相對子類來說的,即子

類繼承自父類;而派生是相對于父類來說的,即父類派生出子類。

了解了繼承機制的含義和語法之后,下面代碼演示了繼承機制的用法:

class People:
    def say(self):
        print("我是一個人,名字是:",self.name)
class Animal:
    def display(self):
        print("人也是高級動物")
#同時繼承 People 和 Animal 類
#其同時擁有 name 屬性、say() 和 display() 方法
class Person(People, Animal):
    pass
zhangsan = Person()
zhangsan.name = "張三"
zhangsan.say()
zhangsan.display()

關于Python的多繼承

事實上,大部分面向對象的編程語言,都只支持單繼承,即子類有且只能有一個父類。而 Python 卻支持多繼承(C++也支持多繼承)。

和單繼承相比,多繼承容易讓代碼邏輯復雜、思路混亂,一直備受爭議,中小型項目中較少使用,后來的 Java、C#、PHP 等干脆取消了多繼承。

使用多繼承經常需要面臨的問題是,多個父類中包含同名的類方法。對于這種情況,Python 的處置措施是:根據子類繼承多個父類時這些父類的前后次序決定,即排在前面父類中的類方法會覆蓋排在后面父類中的同名類方法。

舉個例子:

class People:
    def __init__(self):
        self.name = People
    def say(self):
        print("People類",self.name)
class Animal:
    def __init__(self):
        self.name = Animal
    def say(self):
        print("Animal類",self.name)
#People中的 name 屬性和 say() 會遮蔽 Animal 類中的
class Person(People, Animal):
    pass
zhangsan = Person()
zhangsan.name = "張三"
zhangsan.say()

看完了這篇文章,相信你對關于python中繼承機制的案例分析有了一定的了解,想了解更多相關知識,歡迎關注創新互聯-成都網站建設公司行業資訊頻道,感謝各位的閱讀!

新聞標題:關于python中繼承機制的案例分析-創新互聯
文章位置:http://vcdvsql.cn/article38/cseosp.html

成都網站建設公司_創新互聯,為您提供動態網站網站導航搜索引擎優化關鍵詞優化ChatGPT電子商務

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

手機網站建設