2016年7月25日 星期一

Python 的類別繼承結構

類別繼承結構
  • 繼承是物件導向重要精神,特徵如下:
    • 免於重複開發相同程式碼
    • 善用已開發好的類別物件!
  • Python 類別繼承基本格式:
    class 子類別名稱(父類別名稱):
        def 方法名稱(屬性名稱[,...]):
           執行程式內容
             :
             :
    
快速測試:
  1. 使用互動式指令:
    #python3
    Python 3.4.3 (default, Jan 26 2016, 02:25:35)
    [GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>>
    
  2. 產生一個父類別 Car():
    >>> class Car():
    ...   def __init__(self):
    ...     print("I am a car !")
    ...
    
  3. 產生一個子類別 sedan(Car):
    >>> class Sedan(Car):
    ...   pass
    ...
    
  4. 產生一個 Car 物件以及 Sedan 物件:
    >>> myCar = Car()
    I am a car !
    >>> mySecCar = Sedan()
    I am a car !
    >>>
    
利用檔案測試:
  1. 編寫一個 Human() 類別:
    #vim human.py
    class Human():
      def __init__(self):
        self.name = "Human"
    
  2. 編寫一個 Asian() 類別,繼承 Human 類別:
    #vim asian.py
    from human import Human
    
    class Asian(Human):
       def __init__(self,name):
          self.name = name
       def showName(self):
          return self.name
    
  3. 編寫一個可執行程式:
    #vim  runprogram.py
    from asian import Asian
    
    peter = Asian("Peter")
    print(peter.showName())
    
  4. 執行程式:
    #python3  runprogram.py
    (執行結果)
    Peter