1. 程式人生 > >01月11日 四周四次【Python基礎進階】

01月11日 四周四次【Python基礎進階】

顯示 進階 col super 自定義 方法總結 總結 類方法 3.1

3.1/3.2 類的繼承
3.3 類的屬性總結
3.4 類的方法總結

3.1/3.2 類的繼承

類的繼承

  • 繼承是面向對象的重要特點之一
  • 繼承關系: 繼承是相對兩個類而言的父子關系,子類繼承父類所有的公有屬性和方法
  • 繼承實現代碼重用

    使用繼承

  • 繼承可以重用已經存在的數據和行為,減少代碼的重復編寫.Python在類名後使用一對括號來表示繼承關系,括號中的類即為父類
  • class Myclass(ParentClass)
    • 如果父類定義了int方法,子類必須顯示調用父類的init方法
      • ParentClass.init(self,[args...])
    • 如果子類需要擴展父類的行為,可以添加init方法的參數
      class People (object):
      color = ‘yellow‘
      def __init__(self, c):
      print("Init...")
      self.dwell = ‘Earth‘
      def think(self):
      print("I am a %s"%self.color)
      print("I am a thinker")
      class Chinese(People):
      def __init__(self):
      People.__init__(self,‘red‘)
      pass
      cn = Chinese()
      print(cn.color)
      print(cn.dwell)
      cn.think()

      super函數

      class A(Object):
      def __init__(self):
      print ("enterA")
      print ("leaveA")
      class B(A):
      def __init__(self):
      print ("enetrB")
      super(B,self).__init__()
      print ("leaveB")
      b =  B()
      ###############
      class People (object):
      color = ‘yellow‘
      def __init__(self, c):
      print("Init...")
      self.dwell = ‘Earth‘
      def think(self):
      print("I am a %s"%self.color)
      print("I am a thinker")
      class Chinese(People):
      def __init__(self):
      super(Chinese, self).__init__(‘red‘)
      pass
      cn = Chinese()

      多重繼承

  • python支持多重繼承, 即一個類可以繼承多個父類
  • 語法
    • class class_name(Parent_c1,Parent_c2,...)
  • 註意:
    • 當父類中出現多個自定義的init方法時,多重繼承只執行第一個init方法,其他的不執行
      class People (object):
      def __init__(self):
      self.dwell = ‘Earth‘
      self.color = ‘yellow‘
      def think(self):
      print("I am a %s"%self.color)
      print("My home is %s"%self.dwell)
      class Martian(object):
      color = ‘red‘
      def __init__(self):
      self.dwell = ‘Martian‘
      def talk(self):
      print("I LIKE")
      class Chinese(Martian,People):
      def __init__(self):
      People.__init__(self)
      cn = Chinese()
      cn.think()
      cn.talk()

3.3 類的屬性總結

  • 類屬性,也是共有屬性
  • 類的私有屬性
  • 對象的共有屬性
  • 對象的私有屬性
  • 內置屬性
  • 函數的局部變量
  • 全局變量

3.4 類的方法總結

  • 公有方法
  • 私有方法
  • 類方法
  • 靜態方法
  • 內置方法

01月11日 四周四次【Python基礎進階】