物件導向程式設計

2021-10-12 17:43:53 字數 1972 閱讀 8632

python中一切皆物件

class

person

:#盡量用駝峰體

#屬性 height =

180 weight =

120#方法

defsleep

(self)

:print

('睡覺'

)person1 = person(

)#類的例項化,得到物件

print

(person1.height)

person1.sleep(

)print

(person.__dict__)

#是類的命名空間

結論:先從自己的命名空間去找,沒有則去類中找,如果類也沒有則報錯

物件呼叫方法,使用的就是類中定義的方法

那個物件來呼叫方法,self就是那個物件

物件屬性的查詢順序:物件自己------》類中------》報錯

物件方法的查詢順序:所有物件都用類的方法------》方法有self引數,通過self引數來區分是那個對像呼叫的

類名.___dict__類的命名空間

物件.__dict___物件的命名空間

所有類的屬性應該寫物件共有的屬性,如果是物件自己的,需要放到物件自己命名空間

不能,只能改物件自己的命名空間的屬性

person.height=

170

class

student

: count =

0s1 = student(

)student.count +=

1s2 = student(

)student.count +=

1s1.count +=

1print

(student.count)

print

(s1.count)

student.count+=

10# 修改類的count屬性

print

(s1.count)

# 列印s1的count屬性,由於s1用自己的,就是3

print

(s2.count)

# 列印s2的count屬性,由於s2沒有,用類的,類的是12,就是12

函式:普通函式def定義函式,有幾個引數就要傳幾個引數

方法:繫結給某個物件,方法有特殊之處:繫結給誰,誰來呼叫,誰來呼叫,誰來呼叫就會自動把誰傳過來,傳給self

class

student

:def

choose_course

(self)

:# 定義在類內部的函式,就是繫結給物件的方法

print

('%s這個人逃了課'

% self.name)

# 通過self來區分,到底是哪個物件呼叫了自己的繫結方法

s1=student(

)s1.name=

'wsc' 自己命名空間加了name屬性

s1.choose_course(

) 繫結給物件的方法,物件來呼叫,自動把物件傳進去

student.choose_course(s1)

# 類可以呼叫物件的繫結方法,但是需要手動把物件傳進來,現在choose_course就是個普通函式,有幾個引數,就傳幾個引數

物件在例項化的時候,賦初值(給物件一些屬性)

class

student

:def

__init__

(self,age)

: self.name=

'wsc'

self.age=age

s1=student(

)# 只要是類例項化得到物件,就會自動觸發__init__的執行

print

(s1.name)

c 物件導向程式設計 物件導向

什麼是物件導向 是對現實世界理解和抽象的方法。物件導向程式設計的特點 易維護,易擴充套件,靈活性好,重用 類 對事物的抽象定義,即事物具有的共同特徵和行為。物件 即對類進行例項 類是抽象的,物件是具體的 類的定義 語法 訪問修飾符 class 類名類的成員 包括字段,屬性,方法,常量,事件和索引器等...

物件導向程式設計

物件導向程式設計 抽象 封裝 繼承 多型 單一職責原則 就乙個類而言,應該僅有乙個引起它變化的原因。開放封閉原則 軟體實體應該可以擴充套件,但是不可修改。所有的設計模式都是對不同的可變性進行封裝,從而使系統在不同的角度上達到開發封閉原則。依賴倒轉原則 a 高層不應該依賴低層,兩個都應該依賴抽象。b ...

物件導向程式設計

class team def init self self.name tampa bay buccaneers bucs team print bucs.name tampa bay buccaneers 當呼叫team 函式時,會自動呼叫init函式,self是自動傳入到init中的引數,它指向當...