一、主題說明:
物件導向程式設計的其中一個特點是可以透過既有的類別,再延伸出新的類別出來,它的目的並不是新類別要取代舊類別,而是要透過新類別來擴充舊類別新的功能,好處是原來就寫好的程式功能就不用再重複撰寫,提升寫程式的效率及後續的維護;像這樣既有的類別我們稱作為父類別或基礎類別,而延伸父類別的新類別稱作為子類別或擴充類別,由父類別定義出新的子類別,這就稱為繼承。
二、應用程式:
#父類別
class Food:
def __init__(self,name):
self.__name = name
def getName(self):
return self.__name
def getSpecific(self,color,sweetrate):
return color,sweetrate
#子類別
class Fruit(Food):
def getSpecific(self,color,sweetrate,number):
return color,sweetrate,number
class Rice(Food):
def getSpecific(self,color,grade,number):
return color,grade,number
class Noodle(Food):
def getSpecific(self,color,shape,number):
return color,shape,number
#執行程式
A = Fruit("apple")
B = Rice("brown_rice")
C = Noodle("beef")
print(A.getName(),"的顏色、甜度、數量= ",A.getSpecific('red',0.65,10))
print(B.getName(),"的顏色、甜度、數量= ",B.getSpecific('yellow',0.52,3))
print(C.getName(),"的顏色、甜度、數量= ",C.getSpecific('white',0.38,2))
#執行結果
apple 的顏色、甜度、數量= ('red', 0.65, 10)
brown_rice 的顏色、甜度、數量= ('yellow', 0.52, 3)
beef 的顏色、甜度、數量= ('white', 0.38, 2)
三、程式說明
從父類別的參數可以建立食物的名稱及食物的方法,利用水果、米和麵三種延伸不同種類的子類別,可以簡化程式的複雜度,擴展不同種類功能的類別,此種簡單物件導向程式是蠻常見的,也是學習 Python 程式必學的。
沒有留言:
張貼留言