Python語言入門(八)動態語言中的類與對象初探

#在Python裏面,也可以實現面向對象,通過class關鍵字實現類
#以下的pass關鍵字是Python語言特殊的佔位符,如果某些代碼暫時還沒有
#辦法實現,是空的,用這個關鍵字佔位,就不會導致語法錯誤
#如下有一個空的英雄類:
class Hero(object):
    pass
#Python語言創建一個類的實例非常簡潔,連new關鍵字都沒有,直接'類名()'
#如下創建了一個英雄類的實例,實例名爲hero1
h1 = Hero();

#Python是一種動態語言,與Java、C#等靜態語言不同,Python的對象
#屬性可以在使用時自由綁定新屬性,哪怕定義類時並沒有這個屬性。
#如下給hero1對象動態綁定了一個name屬性
h1.name = '德瑪西亞';
print(h1.name)#輸出: 德瑪西亞

#這樣也太自由了,適用於可選的屬性。如果類必須要有某些屬性呢?
#用一個特殊的 __init__函數,前後是兩個下劃線。該函數有一點點類似於
#Java中的構造方法,用於綁定屬性、賦值的。如下重寫的Hero類:
class Hero2(object):
    def __init__(self,name,HP):
        self.name = name
        self.HP = HP
#與普通的函數不同,類裏面定義的函數包括__init__,第一個參數始終是self
#這個self類似於Java中的this關鍵字。如下可以調用帶參構造函數實例化一個英雄
h2 = Hero2('無極劍聖',1500)

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