十四.Python_面向物件程式設計
阿新 • • 發佈:2018-12-26
Python_面向物件程式設計
#三大程式設計正規化 # 函數語言程式設計 #程式碼量少但複雜 # 程序式程式設計 #將複雜的邏輯分解為一個個小的邏輯功能,從而完成大型複雜的專案的思路 # 面向物件程式設計 #利用物件的思想進行程式設計 # 利用函式模擬面向物件 if __name__=="__main__": #模擬類 def dog(name,color,type): #模式類的初始化 def init(name,color,type): #利用字典模擬初始化物件 dog={"name":name, #使模擬的物件擁有名字的屬性 "color":color, #使模擬的物件擁有顏色的屬性 "type":type, #使模擬的物件擁有型別的屬性 "bark":bark, #使模擬的物件擁有bark函式的行為 "sleep":sleep,#使模擬的物件擁有sleep函式的行為 } return dog #返回例項化的物件 def bark(self): #bark函式 print("一條%s的狗:汪汪汪!"%self["color"]) #模擬某個物件的叫的功能 def sleep(self): print("一隻%s正在睡覺!"%self["type"]) #模擬某個物件的睡覺的功能 return init(name,color,type) #返回例項化的物件 #利用函式模擬例項化物件的過程 dog1=dog("小黃","黃色","藏獒") #呼叫模擬的物件叫的功能 dog1["bark"](dog1) #利用模擬物件睡覺的功能 dog1["sleep"](dog1) #class #利用類完成面向物件 class完成面向物件比函式更加專業 #__init__ 將類例項化的函式 #self 指的是自己這個類的物件 # #物件擁有的兩類元素: 1. 物件的屬性元素, 2. 物件的行為元素 #用 . 訪問物件屬性或行為 class dog: #建立物件的類 def __init__(self,name,color,type): #將類的屬性例項化物件 self.mingzi=name #給類的屬性賦值 self.yanse=color self.leixing=type def bark(self): #定義類叫的行為 print("%s 的狗正在汪汪汪!"%self.yanse) def sleep(self): #定義類睡覺的行為 print("一隻叫 %s 的 %s 正在睡覺!"%(self.mingzi,self.leixing)) dog2=dog("小黃","黃色","藏獒") #類例項化為物件 dog2.bark() #物件呼叫叫的行為 dog2.sleep() #物件呼叫睡覺的行為 #面向物件的增刪改查操作 #查詢 print("這隻狗叫 %s"%dog2.mingzi) #增 dog2.leg=5 print("這隻叫%s的狗有%s條腿!"%(dog2.mingzi,dog2.leg)) #改 dog2.leg=4 print("這隻叫%s的狗現在還剩%s條腿!" % (dog2.mingzi, dog2.leg)) #刪 del dog2.leg #print(dog2.leg) AttributeError: 'dog' object has no attribute 'leg'