初始物件導向

2021-10-08 23:28:59 字數 3074 閱讀 4188

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 只要類名 產生乙個物件,自動...