day21物件導向 類

2022-09-17 00:42:11 字數 1612 閱讀 8893

1

#1 定義階段:

2class

harvordstudent:

3 school='

harvord'4

defchoose_course(self):

5print('

hello')

6print(harvordstudent) #

類的本質是命名空間/容器,可以增刪改查名字7#

訪問屬性(命名空間中名字)的語法,·之後的都是屬性8#

查9print(harvordstudent.school) #

oldboystudent.__dict__['school']10#

增11 harvordstudent.x=1

12print

(harvordstudent.x)13#

刪14#del harvordstudent.x15#

print(harvordstudent.x) #attributeerror: type object 'oldboystudent' has no attribute 'x'16#

改17 harvordstudent.school='

harvord'18

print

(harvordstudent.school)

192021#

類中定義的函式是類的函式屬性,類可以使用,但使用的就是乙個普通的函式而已,22#

意味著需要完全遵循函式的引數規則,該傳幾個值就傳幾個值

23 harvordstudent.choose_course(9999)

242526#

呼叫類階段27#

產生物件,該過程稱之為例項化,例項化的結果稱為類的乙個物件或者例項

28 s1=harvordstudent()

29 s2=harvordstudent()

30print

(s1)

31print(s2)

給物件定製屬性

class

harvordstudent:

school='

harvord

'def

__init__

(self,name,age,***):

self.name=name

self.age=age

self.***=***

defchoose_course(self):

print('

hello')

#呼叫類時發生兩件事

#1 創造空物件

#2 自動觸發類中__init__功能的執行,將s1以及呼叫類括號內的引數一同傳入

s1=harvordstudent('

nb',199,'

male

') #

生成例項

print

(s1)

print(s1.__dict__) #

檢視資訊

屬性的查詢順序:

1.先從物件自己的命名空間查詢

2.物件中沒有就去類中查詢

3.類中也沒有則報錯

小結:物件是乙個高度整合的產物,整合資料與專門操作該資料的方法(繫結方法)

day21 物件導向高階

多型指的是一類事物有多種形態,比如動物有多種形態 貓 狗 豬 class animal 同一類事物 動物 def talk self pass class cat animal 動物的形態之一 貓 def talk self print 喵喵喵 class dog animal 動物的形態之二 狗 ...

day21 物件導向之繼承和組合

繼承 組合oop的三大特徵之一 封裝,繼承,多型 繼承什麼是繼承?繼承是一種關係,描述兩個物件之間,什麼是什麼的關係 例如 麥兜,佩奇,豬剛鬣 都是豬啊,在程式中,繼承描述的是類和類之間的關係 例如 a繼承了b,a就能直接使用b已經存在的方法和屬性,a稱之為子類,b稱之為父類,也稱之為基類 為什麼要...

day21 學習總結

string s new string 建立乙個空的字串序列 string s new string hello 建立乙個內容為 hello 的字串 string s hello 建立乙個內容為 hello 的字串 string s new string char chars 通過字元陣列建立乙個字...