python類繼承與重構

來源:互聯網
上載者:User

標籤:建立   instance   類的屬性   衍生類別   定義   需要   子類   .class   employee   

python類繼承與重構0 對象
  • 通過類定義的資料結構執行個體。
  • 對象包括兩個資料成員(類變數和執行個體變數)和方法。
#!/usr/bin/python# -*- coding: UTF-8 -*- class Employee:   ‘所有員工的基類‘   empCount = 0    def __init__(self, name, salary):      self.name = name      self.salary = salary      Employee.empCount += 1      def displayCount(self):     print "Total Employee %d" % Employee.empCount    def displayEmployee(self):      print "Name : ", self.name,  ", Salary: ", self.salary      
  • empCount 變數是一個類變數,它的值將在這個類的所有執行個體之間共用。你可以在內部類或外部類使用 Employee.empCount 訪問。
  • 第一種方法__init__()方法是一種特殊的方法,被稱為類的建構函式或初始化方法,當建立了這個類的執行個體時就會調用該方法
  • self 代表類的執行個體,self 在定義類的方法時是必須有的,雖然在調用時不必傳入相應的參數
self代表類的執行個體,而非類
  • 類的方法與普通的函數只有一個特別的區別——它們必須有一個額外的第一個參數名稱, 按照慣例它的名稱是 self。
class Test:    def prt(self):        print(self)        print(self.__class__) t = Test()t.prt()

以上執行個體執行結果為:

<__main__.Test instance at 0x10d066878>__main__.Test
  • 從執行結果可以很明顯的看出,self 代表的是類的執行個體,代表當前對象的地址,而 self.class 則指向類。
  • self 不是 python 關鍵字,我們把他換成 runoob 也是可以正常執行的:

  • 你可以添加,刪除,修改類的屬性。

類的繼承
  • 在python中繼承中的一些特點:
  1. 在繼承中基類的構造(init()方法)不會被自動調用,它需要在其衍生類別的構造中親自專門調用。
  2. 在調用基類的方法時,需要加上基類的類名首碼,且需要帶上self參數變數。區別在於類中調用普通函數時並不需要帶上self參數
  3. Python總是首先尋找對應類型的方法,如果它不能在衍生類別中找到對應的方法,它才開始到基類中逐個尋找。(先在本類中尋找調用的方法,找不到才去基類中找)。
1 方法重寫
  • 如果從父類繼承的方法不能滿足子類的需求,可以對其進行改寫,這個過程叫方法的覆蓋(override),也稱為方法的重寫。

python類繼承與重構

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.