理解Python中的類對象、實例對象、屬性、方法


class Animal(object):  # 類對象

    age = 0  # 公有類屬性
    __like = None  # 私有類屬性

    def __init__(self):  # 魔法方法
        self.name = 'haha'  # 公有實例屬性
        self.__sex = 'man'  # 私有實例屬性

    def smile(self):  # 公有方法  self指向實例對象
        pass

    def __jump(self):  # 私有方法
        pass

    @classmethod
    def run(cls):  # 類方法  cls 指向類對象
        pass

    @staticmethod
    def msg():  # 靜態方法,可以沒有參數
        pass

'''
# 類對象: 
將具有相似屬性和方法的對象總結抽象為類對象,可以定義相似的一些屬性和方法,不同的實例對象去引用類對象的屬性和方法,能減少代碼的重復率。

# 類屬性: 
類對象所有的屬性,類對象和實例對象均可以訪問,被它們共同擁有; 

# 公有類屬性: 
可以在類外修改類屬性,需要通過類對象引用直接修改; 
類內可以通過類方法修改類屬性。 
如果通過實例對象來引用類屬性,相當於實例對象在實例方法中創建了一個和類屬性相同的名字,等同於局部變量實例屬性,和類屬性無關; 

# 私有類屬性: 
類外通過類對象引用不能直接更改,只能通過實例方法調用類對象更改。

# 類方法: 
需要修飾器@classmethod,標示其為類方法,類方法的第一個參數必須為類對象,一般用cls表示,通過cls引用的必須是類屬性和類方法。

# 靜態方法: 
需要修飾器@staticmethod,標示其為靜態方法。需要做一些功能,和類相關,但不需要類和對象參與,此時可以使用靜態方法,靜態方法可以不需要參數。

# 實例對象: 
通過類對象創建的實例對象

# 實例屬性: 
通過方法定義的屬性 

# 私有實例屬性: 
__開頭定義的變量名;只能通過方法調用來更改 
公有實例屬性: 
可以通過實例對象重新定義

# 實例方法: 
第一個參數公認為self,可以調用類對象和實例對象。

# 私有方法: 
只能在類內調用,如果類外調用,則需要類內的公有方法調用類內的私有方法,在類外調用這個公有方法,則間接調用了私有方法。 
一個程序中最核心的內容,不能隨意調用,可以設置為私有方法,通過公有方法的判斷去調用私有方法!

# 公有方法: 
可以在類內類外隨意調用。

# 魔法方法: 
例如__init__方法,用兩個__前后包裹的方法
'''

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM