1. 程式人生 > 其它 >類屬性(例項屬性)

類屬性(例項屬性)

類屬性(例項屬性)

類物件    
	類屬性(共享的)    
	類方法
例項物件    
	例項屬性(獨有的)    
	例項方法(指向類物件的引用)是個記憶體地址
# 類物件
class Tools:
    """
    工具類
    """
    # 定義類屬性
    num = 0

    def __init__(self,name):
        # 例項屬性
        self.name = name
        # 對類屬性操作
        Tools.num += 1

# 例項化一個物件
t1 = Tools("棒槌")
t2 = Tools("錘子")
t3 = Tools("老虎鉗")

# 通過例項物件獲取例項屬性
print(t1.name)
print(t2.name)
print(t3.name)

# 通過例項物件獲取類屬性
print(t1.num)
print(t2.num)
print(t3.num)

"""
輸出結果:
棒槌
錘子
老虎鉗
3
"""

類方法和靜態方法

# 類物件
class Tools:
    """
    工具類
    """
    # 定義類屬性
    num = 0

    def __init__(self,name):
        # self 誰呼叫就指向誰
        # 例項屬性
        self.name = name
        # 對類屬性操作
        Tools.num += 1

    # 定義了一個類方法,裝飾器
    @classmethod
    def add_num(cls):
        # cls 指向記憶體中的類物件
        cls.num = 10

# 查詢類物件的id
print(id(Tools))

# 例項化物件
t1 = Tools("棒槌")
# 通過例項化物件呼叫類方法
t1.add_num()
# 通過類物件呼叫類方法
Tools.add_num()
# 類屬性可以通過類名.XXX或者例項屬性來引用