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
(harvordstudent.school)
192021#
類中定義的函式是類的函式屬性,類可以使用,但使用的就是乙個普通的函式而已,22#
意味著需要完全遵循函式的引數規則,該傳幾個值就傳幾個值
23 harvordstudent.choose_course(9999)
242526#
呼叫類階段27#
產生物件,該過程稱之為例項化,例項化的結果稱為類的乙個物件或者例項
28 s1=harvordstudent()
29 s2=harvordstudent()
30print
(s1)
31print(s2)
給物件定製屬性
classharvordstudent:
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
') #
生成例項
(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 通過字元陣列建立乙個字...