類變數與例項變數

2021-08-24 17:34:53 字數 1185 閱讀 5393

'''

定義乙個英雄類,包含玩家數量,生命值,攻擊力和玩家姓名,

同時包含乙個方法攻擊方法,呼叫攻擊方法時顯示如圖資訊,

建構函式中需要初始化資料,當玩家加入遊戲後需要顯示玩家姓名和數量

'''class

hero:

count = 0

#類變數

def__init__

(self):

#例項變數

self.hp = 0

self.attack = 0

self.name = none

hero.count += 1

defshow

(self):

print("新玩家%s加入遊戲,當前人數%d"%(self.name,hero.count))

defattackfun

(self,a):

a.hp -= self.attack

print("玩家%s受到玩家%s的%d點傷害剩餘hp為%d"

%(a.name,self.name,self.attack,a.hp))

h1 = hero()

h1.name = "tom"

h1.attack = 5

h1.hp = 200

h1.show()

h2 = hero()

h2.name = "lihua"

h2.attack = 10

h2.hp = 150

h2.show()

h1.attackfun(h2)

h1.attackfun(h2)

h1.attackfun(h2)

h2.attackfun(h1)

h2.attackfun(h1)

'''類變數:

是可在類的所有例項之間共享的值(也就是說,它們不是單獨分配給每個例項的)。用於跟蹤存在著多少個類的例項。

例項變數:

例項化之後,每個例項單獨擁有的變數。

簡單的說,類變數(class variable)被該類的所有例項可以共享的變數;

如果某個例項修改了該變數,這種變化可以被其他例項看到。

例項變數(object variable, instance variable)屬於例項私有;

對例項變數的操作不會影響到其他例項物件。

'''

類變數與例項變數

初始 如下class dog num legs 4 類變數 def init self,name self.name name 例項變數一 訪問變數 jack dog jack rose dog rose jack.name,rose.name jack rose jack.num legs,ros...

例項變數與類變數

例項變數與類變數 類變數也叫靜態變數,也就是在變數前加了static 的變數 例項變數也叫物件變數,即沒加static 的變數 區別在於 類變數和例項變數的區別在於 類變數是所有物件共有,其中乙個物件將它值改變,其他物件得到的就是改變後的結果 而例項變數則屬物件私有,某乙個物件將其值改變,不影響其他...

類變數,例項變數

1 例項變數和類變數 每個物件的例項變數都分配記憶體 類變數 即 static 變數 僅在生成第乙個物件時分配記憶體,所有例項物件共享同乙個類變數,每個例項物件對類變數的改變都會影響到其它的例項物件。類變數可通過類名直接訪問,無需先生成乙個例項物件,也可以通過例項物件訪問類變數。區別在於 類變數是所...