網頁

2025年7月14日 星期一

Python 繼承

一、主題說明:

物件導向程式設計的其中一個特點是可以透過既有的類別,再延伸出新的類別出來,它的目的並不是新類別要取代舊類別,而是要透過新類別來擴充舊類別新的功能,好處是原來就寫好的程式功能就不用再重複撰寫,提升寫程式的效率及後續的維護;像這樣既有的類別我們稱作為父類別或基礎類別,而延伸父類別的新類別稱作為子類別或擴充類別,由父類別定義出新的子類別,這就稱為繼承。


二、應用程式:

#父類別


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 程式必學的。



沒有留言:

張貼留言

TQC+ Python 證照考題評量(五十四) - 平均溫度

 一、主題介紹: 資料庫中的一堆數據資料,時常需要這些資料的平均值、最大值、與最小值,作為分析資料的依據,如能透過寫程式讓它們自動化就能增加效率,就來看看今天的 TQC+ 考題的練習。 (1) 題目 請撰寫一程式,讓使用者輸入四週各三天的溫度,接著計算並輸出這四週的平均溫度及最高...