第十二章 類和物件

2021-10-24 14:25:55 字數 2353 閱讀 6990

類是多個類似事務組成的群體的統稱,能夠幫助我們快速理解和判斷事務的性質
面向過程

物件導向

區別:面向過程:事務比較簡單,可以用線性的思維去解決,親力親為

物件導向:事務比較複雜,用簡單的線性思維無法解決

共同點:面向過程和物件導向都是解決實際問題的一種思維方式

總結:物件導向和面向過程相輔相成,二者不是對立的,解決複雜問題,需要通過物件導向的方式在巨集觀上把握事務之間複雜的關係,方便我們分析整個系統;具體到微觀操作,使用物件導向的方式來處理。

使用class定義

由類屬性,類方法,例項方法,靜態方法組成

class

student

:# student 為類名,由乙個或多個單詞組成,每個單詞首字母大寫,其餘小寫

native_place =

'河北'

# 直接寫在類裡的變數,稱為類屬性

def__init__

(self,name,age)

: self.name = name # self.name稱為實體屬性,進行了乙個賦值的操作,將區域性變數name的值賦給例項屬性

self.age = age

# 例項方法

defeat

(self)

:print

('學生在吃飯....'

)# 靜態方法

@staticmethod

defmethod()

:print

('使用staticmethod進行修飾,是靜態方法'

)# 類方法

@classmethod

defcm

(cls)

:print

('使用classmethod進行修飾,是類方法'

)# 在類之外定義的稱為函式,在類之內定義的稱為方法

defdrink()

:print

('學生在喝水。'

)# 類屬性的使用方式

print

(student.native_place)

# 例項方法的使用方式

stu1 = student(

'張三',20

)student.eat(stu1)

print

('-------類方法的使用方式----------------'

)student.cm(

)print

('-------靜態方法的使用方式----------------'

)student.method(

)

1.通過類名()建立例項物件

2.動態繫結屬性

3.動態繫結方法

class

student

:def

__init__

(self,name,age)

: self.name = name

self.age = age

defeat(self)

:print

(self.name,

'在吃飯'

)stu1 = student(

'張三',20

)stu2 = student(

'李四',30

)print(id

(stu1)

)print(id

(stu2)

)print

('--------為stu2動態的繫結性別屬性-------------'

)stu2.gender =

'女'#print(stu1.name,stu1.age,stu1.gender)

print

(stu1.name,stu1.age)

print

(stu2.name,stu2.age,stu2.gender)

print

('-------------------------'

)stu1.eat(

)stu2.eat(

)def

show()

:print

('定義在類之外的函式'

)stu1.show = show

stu1.show(

)'''

2008662890048

2008663751072

--------為stu2動態的繫結性別屬性-------------

張三 20

李四 30 女

-------------------------

張三 在吃飯

李四 在吃飯

定義在類之外的函式

'''

第十二章 物件 下

第十二章 物件 下 12.5.1 通過 isa 繼承 package mule our isa horse donkey perl 將首先在horse 裡 和他的任何前輩類裡,比如critter 查詢任何在mule裡找不到的方法,找不到以後才繼續在donkey 和其父類裡進行查詢。如果缺失的方法在乙...

第十二章 檔案

文字檔案 文字檔案是一種由若干字元構成的檔案,可以用文字編輯器進行閱讀或編輯。以txt py html等為字尾的檔案都是文字檔案。2.二進位制檔案 二進位制檔案一般是指不能用文字編輯器閱讀或編輯的檔案。以 mp4 png等為字尾的檔案都是二進位制檔案,如果想要開啟或修改這些檔案,必須通過特定軟體進行...

第十二章 dp

動態規劃策略 將原始問題拆分為多個子問題,將子問題結果記錄,方便復用子問題的解 遞迴 記憶化 遞推 是動態規劃的一體兩面,本質都是一樣的 遞推減少了呼叫次數,空間上還能優化,一般選擇遞推方式 遞迴 記憶化 int memo maxn 將o 2 n o n intfibonacci int n 遞推 ...