類
classcat:
"""定義了乙個cat類
"""#
初始化物件
def__init__
(self,new_name,new_age):
self.name =new_name
self.age =new_age
#方法defeat(self):
print("
貓在吃魚....")
defdrink(self):
print("
貓正在喝可樂...")
defintroduces(self):
print("
%s的年齡是:%d
" %(self.name, self.age))
#建立乙個物件
tom = cat("
湯姆",40)
#呼叫tom指向的物件中的方法
tom.eat()
tom.drink()
#給湯姆指向的物件新增2個屬性
#tom.name = "湯姆"
#tom.age = 40
tom.introduces() #
相當於tom.introduce(tom)
xiaohua = cat("
小花",2)
#xiaohua.name = "小花"
#xiaohua.age = 2
xiaohua.introduces()
__init__()方法
classcat:
"""定義了乙個cat類
"""#
初始化物件
def__init__
(self,new_name,new_age):
self.name =new_name
self.age =new_age
def__str__
(self):
return
"%s的年齡是:%d
"%(self.name,self.age)
#方法defeat(self):
print("
貓在吃魚....")
defdrink(self):
print("
貓正在喝可樂...")
defintroduces(self):
print("
%s的年齡是:%d
" %(self.name, self.age))
#建立乙個物件
tom = cat("
湯姆",40)
xiaohua = cat("
小花",2)
print(tom) #
沒有改寫__str__()方法時,返回的為記憶體位址
print(xiaohua)
烤地瓜
classsweetpotato:
def__init__
(self):
self.cookedstring = "生的"
self.cookedlevel =0
self.condiments =
def__str__
(self):
return
"地瓜 狀態:%s(%d),新增的佐料有:%s
"%(self.cookedstring,self.cookedlevel,str(self.condiments))
defcook(self,cooked_time):
self.cookedlevel+=cooked_time
if self.cookedlevel >= 0 and self.cookedlevel < 3:
self.cookedstring = "生的"
elif self.cookedlevel >= 3 and self.cookedlevel < 5:
self.cookedstring = "
半生不熟
"elif self.cookedlevel >= 5 and self.cookedlevel < 8:
self.cookedstring = "熟了"
elif self.cookedlevel > 8:
self.cookedlevel = "
烤糊了"
defaddcondiments(self,item):
#建立了乙個地瓜物件
di_gua =sweetpotato()
(di_gua)
#開始烤地瓜
di_gua.cook(1)
di_gua.cook(1)
di_gua.cook(1)
di_gua.addcondiments("大蒜
")di_gua.cook(1)
print(di_gua)
存放家具
classhome:
def__init__
(self,new_area, new_info,new_addr):
self.area =new_area
self.info =new_info
self.addr =new_addr
self.left_area =new_area
self.contain_items =
def__str__
(self):
msg = "
房子的總面積是:%d,可用面積是:%d,戶型是:%s,位址是:%s
"%(self.area,self.left_area,self.info,self.addr)
msg+="
,當前房子裡的物品有%s
"%(str(self.contain_items))
return
msg
defadditem(self,item):
#self.left_area -= item.area
# self.left_area -=item.get_area()
class
bed:
def__init__
(self,new_name,new_area):
self.name =new_name
self.area =new_area
def__str__
(self):
return
"%s占用的面積是:%d
"%(self.name,self.area)
defget_area(self):
return
self.area
defget_name(self):
return
self.name
fangzi = home(129,"
三室一廳
","北京市朝陽區長安街666號")
(fangzi)
bed1 = bed("
席夢思",4)
fangzi.additem(bed1)
(fangzi)
bed2 = bed("
三人床",6)
fangzi.additem(bed2)
print(fangzi)
物件導向 1
物件名列印 類名 位址值 1 從磁碟讀取class檔案,載入進方法區的class檔案區 2 將class檔案靜態的屬性和行為的載入進靜態區 3 將class檔案中私有的行為載入進方法區 4 在堆中持有方法的引用 5 讀取class檔案中的成員字段,並初始化 6 在堆中持有方法的引用 7 將這個位址賦...
物件導向1
oc中定義類需要以下兩部分 類介面部分語法 ubte ce用於宣告定義類的藉口部分 inte ce myperson nsobject 宣告成員變數 宣告方法 為方法型別標識 代表為類方法,直接用類名即可呼叫 代表實力方法,需用物件才能呼叫 void 為方法返回值型別 若無返回值需要用void宣告沒...
物件導向1
物件導向程式設計 物件導向程式設計 object oriented programming,oop 主要針對大型軟體設計而提出,使得軟體設計更加靈活,能夠很好地支援 復用和設計復用,並且使得 具有更好的可讀性和可擴充套件性。python中物件的概念很廣泛,python中的一切內容都可以稱為物件。類定...