class
person
: role =
'中國人'
#類屬性----靜態屬性
defwalk
(self)
:#這裡的函式叫做方法-----動態屬性
#注意:self必須寫
print
('person is walking ...'
)print
(person.role)
#檢視類屬性
print
(person.walk)
#檢視類方法 , 用類名去呼叫方法名,列印出來的是記憶體位址
class
person
: role =
'中國人'
def__init__
(self,name,***)
: self.name=name
self.***=***
defwalk
(self)
:print
('person is walking'
)hy = person(
'haiyan',21
)#例項化:類名(引數1,引數2) 類名()就等於在執行person.__init__()
print
(hy.name)
#直接檢視屬性 物件名.屬性名
print
(hy)
#返回的是乙個物件
hy.walk(
)#呼叫方法 ,物件名.方法()
print
(person.__name__,
type
(person.__name__)
)#檢視類的名字(這裡的類名是字串型別的)
print
(person.__dict__)
#查出的是乙個字典,key為屬性名,value為屬性值
print
(person.__doc__)
# 就是把注釋顯示出來
print
(dir
(person)
)#檢視類的方法,以列表的形式顯示出來
print
(person.__module__)
#類定義所在的模組
print
(person.__class__)
print
(isinstance
(hy,person)
)#判斷物件 是否是類的例項
egg = person(
'egon',10
,1000
)print
(egg.name)
print
(egg.aggressivity)
print
(egg.life_value)
當然,你也可以引用乙個方法,因為方法也是乙個屬性。
class 類名:
def__init__
(self,引數1
,引數2):
self.物件的屬性1
= 引數1
self.物件的屬性2
= 引數2
def 方法名(self)
:pass
def 方法名2
(self)
:pass
物件名 = 類名(1,
2)#物件就是例項,代表乙個具體的東西
#類名() : 類名+括號就是例項化乙個類,相當於呼叫了__init__方法
#括號裡傳引數,引數不需要傳self,其他與init中的形參一一對應
#結果返回乙個物件
物件名.物件的屬性1
#檢視物件的屬性,直接用 物件名.屬性名 即可
物件名.方法名(
)#呼叫類中的方法,直接用 物件名.方法名() 即可
小結
class
person
:def
__init__
(self,name,aggr,life_value)
: self.name=name
self.aggr=aggr
self.life_value=life_value
defattack
(self,dog)
:#人可以攻擊狗
dog.life_value=dog.life_value-self.aggr
class
dog:
def__init__
(self,name,aggr,life_value)
: self.name = name
self.aggr = aggr
self.life_value = life_value
defattack
(self,egg)
:#狗也可以攻擊人
egg.life_value = egg.life_value - self.aggr
egg = person(
'egon'
,250
,1000
)dog = dog(
'樂樂',50
,2000
)print
('狗沒攻擊前egon的生命值:'
,dog.life_value)
#沒攻擊前egon的生命值
egg.attack(dog)
#讓egon去攻擊狗樂樂
print
('狗攻擊後egon的生命值:'
,dog.life_value)
#攻擊後egon的生命值
print
('egon沒攻擊前狗的生命值:'
,egg.life_value)
#沒攻擊前egon的生命值
dog.attack(egg)
#讓狗去攻擊egon
print
('egon攻擊後狗的生命值:'
,egg.life_value)
#攻擊後egon的生命值
物件導向初始
萬物皆物件,物件因關注而產生!設計 分析 問題域 設計類 編碼 定義類 產生 物件 has a 關係 public class boy use a 關係 public class boy public void kiss 建立類,定義類,新增屬性和方法 當乙個類是public的時候,類名與檔名必須保...
初始物件導向
一 面向過程 面向過程的程式設計的核心是過程 流水線式思維 過程即解決問題的步驟,面向過程的設計就好比精心設計好一條流水線,考慮周全什麼時候處理什麼東西。優點 極大地降低了寫成學的複雜度,只需要順著執行的步驟,堆疊 即可 缺點 一套流水線或者流程就是用來解決乙個問題,如果修改 就都得改變 二 物件導...
初始物件導向
類 具有相同屬性和技能的一類事物 物件 具體的類的表現,具體的實實在在的的乙個例項 列如.人是一類,某某人就是這個類的乙個物件 物件的角度 ret person 類名 的這個過程 例項化的過程 建立乙個物件的過程 person 例項化物件,例項,物件 print ret 只要類名 產生乙個物件,自動...