類和實例

面向對象最重要的概念就是類(Class)和實例(Instance),類是抽象的模板,實例是根據類建立出來的一個個具體的「對象」
每一個對象都擁有相同的方法,但各自的數據可能不一樣編程

  建立類和實例函數

        class Student(object):
        
            def __init__(self, name, score):
                self.name = name
                self.score = score

            def get_grade(self):
                if self.score >= 90:
                    return 'A'
                elif self.score >= 60:
                    return 'B'
                else:
                    return 'C'
                
        bart.city = 'Dalian'    #可自由地給一個實例變量綁定屬性,這個屬性是任意的,不必定非要在類內定義
        bart = Student('Jim',60)    #建立實例,不須要傳入self
        bart.get_grade()    #輸出:B,不須要傳入self

  關於類
    在Python中,定義類是經過class關鍵字
    class後面緊接着是類名,即Student,類名一般是大寫開頭的單詞,緊接着是(object),表示該類是從哪一個類繼承下來的
    一般,若是沒有合適的繼承類,就使用object類,這是全部類最終都會繼承的類
    建立格式:
      class 類名(object):
        ...

  關於類屬性
    定義類屬性經過如下幾種方式:
      1) 類屬性可經過__init__函數設定
      2) 經過實例名.屬性 = '.....'的方式設定,這種方式設定屬性時,屬性是任意的,不必定非要在類內定義

  關於類方法
    __init__函數
      特殊方法"__init__"先後分別有兩個下劃線
      第一個參數永遠是self,表示建立的實例自己,所以,在__init__方法內部,就能夠把各類屬性綁定到self,由於self就指向建立的實例自己
      該函數是用於爲實例初始化值的,在建立實例時,不能傳入空的參數,必須傳入與__init__方法匹配的參數,但self不須要傳,Python解釋器本身會把實例變量傳進去

    自定義類方法
      在類中定義的函數只有一點不一樣,就是第一個參數永遠是實例變量self,且調用時,不用傳遞該參數。除此以外,類的方法和普通函數沒有什麼區別
      因此,仍然可用默認參數、可變參數、關鍵字參數和命名關鍵字參數

    調用類方法
      實例調用類方法,只需在實例變量上直接調用,除了self不用傳遞,其餘參數正常傳入

  關於實例
    建立格式:實例名 = 類名()

  關於數據封裝
    面向對象編程的一個重要特色就是數據封裝
    每一個實例就擁有各自對應屬性的數據,能夠經過函數來訪問這些數據spa

相關文章
相關標籤/搜索