第一篇 第二十二節 類、對象、類屬性、實例屬性

這一節,主要是針對類、對象、類屬性、實例屬性的一個簡單說明
1. 概念:
1) :是具有共同屬性以及共同行爲的一類事務,是一個集合
2) 對象:就是具體到某類的個體,,是類事物的具體存在,是真實存在的(也就是平時所說的類的實例化)
3)類屬性:這個類的共同特徵,定義在類的變量和方法
4)實例屬性: 對象自己的屬性和方法
5)__init__函數: 一般用於對對象進行初始化設置,一般用戶定義類的共同屬性,但是屬性的值不一樣

2. 類命名規則:
1) 由字母、數字,下劃線組成,且不以數字開頭
2)駝峯式命名方式: TestCase MyClass InsertDataToFile’’’(首字母大寫)

3. 使用實例來說明類、對象、類屬性、實例屬性這幾個概念&如何應用:
定義一個人類People,
有屬性:喫飯,睡覺,年齡,性別,名字
行爲:跑步,參數:minutes,distance (該方法實現了多長時間內跑步距離)

      我們先進行分析:
      1) 對屬性進行分析:
            a.  喫飯,睡覺,這兩個屬性是所有人都會的,都有的
            b. 年齡,身高,體重,性別 是所有人都有的屬性,但是跟喫飯和睡覺不一樣的點是,每個人(即:對象)的身高、體重、性別、年齡可能不一樣,所以,年齡,身高,體重,性別 是一個動態的變量
           通過概念對比,我們就可以比較清楚的知道:
           a‘ 喫飯,睡覺,這兩個屬性是所有人都會的,是人類People的共有特徵,所以是類屬性
           b' 年齡,性別,名字這幾個屬性也是所有人都有的屬性,但不同對象可能不同的值,所以是實例屬性(具體到每一個對象的
           屬性)
      2)  行爲分析:跑步這個行爲是每一個人都會的,但是每個人在固定時間範圍內跑步的距離也是不一樣的,具體到類的對象的時
           候,纔可以有這個行爲,所以定義爲實例方法
  代碼如下:
# -*-coding:utf8-*-
"""
=========================================
author: Lujier            time: 2019/5/26
E-mail: [email protected]
==========================================
"""


class People:
    """
    定義一個人類People,
    有屬性:喫飯,睡覺,年齡,身高,體重,性別, 名字
    行爲:跑步
    """
    behavior_1 = "喫飯"  # 類屬性定義
    behavior_2 = '睡覺'

    def __init__(self, name, sex, age):
        """
        :param name: user's name---->str
        :param sex:  user's sex---->str
        :param age:  user's age---->int
        """
        self.name = name  # 實例屬性定義
        self.sex = sex
        self.age = age

    def run(self, minites, distance):  # 定義一個跑步的方法,實例方法,self代表實例對象
        """
        :param minites:   ran for how long time----->int
        :param distance:  ran many kilometers----->int
        """
        print(f"{self.name}在{minites}跑了{distance}公里")

    def introduce(self):  # 定義一個自我介紹的方法,self代表實例對象
        print(f"My name is {self.name}, I'm a {self.sex} ,and I'm {self.age} year old")


if __name__ == "__main__":
    xiaming = People("小明", "boy", 18)  # 創建一個對象xiaoming 即:類的一個實例化對象:xiaoming
    xiahua = People("小花", "girl", 17)  # 創建一個xiaohua對象

4. 屬性&方法的調用
1) 類屬性的訪問:類&對象都可以訪問類屬性
在這裏插入圖片描述

2)實例屬性的訪問:實例屬性只能別實例對象訪問,類不能直接訪問
在這裏插入圖片描述
3) 實例方法的訪問:實例方法只能別實例對象訪問,類不能直接訪問
在這裏插入圖片描述
實例屬性&實例方法,類不能直接訪問到,但是其實可以類可以通過另一種方式來訪問實例方法
類名.函數名(對象名,函數參數) People.introduce(xiaoming)
在這裏插入圖片描述
但是:一般我們是不會採用這種方法去訪問實例方法的,我們一般都採用:對象名.方法名(參數)來調用函數的

這一節主要就是理解下類的:類、對象、類屬性、實例屬性理解,希望對你有所幫助

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章