熱線電話:13121318867

登錄
首頁精彩閱讀舉例講解Python面向對象編程中類的繼承
舉例講解Python面向對象編程中類的繼承
2017-11-13
收藏

舉例講解Python面向對象編程中類的繼承

類是面向對象語言中的標配,同樣類的繼承也是體現面向對象的重要特性,這里我們就來舉例講解Python面向對象編程中類的繼承,需要的朋友可以參考下

python創建一個類很簡單只需要定義它就可以了.    
class Cat:
  pass

就像這樣就可以了,通過創建子類我們可以繼承他的父類(超類)的方法。這里重新寫一下cat
    
class Cat:
  name = 'cat'
 
 
class A(Cat):
  pass
 
print A.name  # cat

經典類

我們也可以這樣,讓A多繼承。    
class Cat:
  name = 'cat'
 
 
class Dog:
  name = 'dog'
 
 
class A(Cat, Dog):
  pass
 
print A.name  # cat

如果Cat類沒有name屬性呢?    
class Cat:
  pass
 
  ...
print A.name  # dog

A就會在其他的父類中找name這個屬性。如果繼承的兩個父類都是繼承自Animal類而Animal類也有name屬性呢?    
class Animal:
  name = 'animal'
 
 
class Cat(Animal):
  pass
 
 
class Dog(Animal):
  name = 'dog'
 
 
class A(Cat, Dog):
  pass
 
print A.name  # animal

這樣A就不會在Dog類中找而是會在Animal上找到name, 這種類叫經典類。類的解析順序是一種從左到右深度優先的搜索。也就是A–> Cat–> Animal –> Dog。
新式類
python還有一種創建類的方式,就是使用新式類(建議使用), 都繼承自object這個基類, 新式類的搜索規則是從左到右逐級查詢。也就是A–> Cat –> Dog –> Animal。    
class Cat(object):
  pass


數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢