1 #coding=utf-8 2 class Fruit:#定義一個類 3 def __init__(self,color): 4 self.color=color 5 print("fruit's color:' %s" % self.color) 6 ...
1 #coding=utf-8 2 class Fruit:#定義一個類 3 def __init__(self,color): 4 self.color=color 5 print("fruit's color:' %s" % self.color) 6 7 def grow(self): 8 print('grow...') 9 10 class Apple(Fruit):#Apple繼承Fruit類 11 def __init__(self,color): 12 Fruit.__init__(self,color)#Apple必須顯式調用父類的構造函數,可以super(Apple,self).__init__()調用父類 13 print("apple's color: %s " % self.color) 14 15 class Banana(Fruit): 16 def __init__(self,color): 17 Fruit.__init__(self,color) 18 print("banana's color:%s " % self.color) 19 20 def grow(self):#此grow方法會覆蓋Fruit中的grow方法 21 print('banana grow...') 22 23 if __name__=="__main__": 24 apple=Apple('red')#Apple的__init__方法調用了Fruit的___init__方法,所以會列印父類中的信息,(可以將父類的print方法去掉)再輸出子類的信息 25 apple.grow()#繼承自Fruit,所以直接輸出父類的信息 26 27 banana=Banana('yellow') 28 banana.grow()#覆蓋父類中信息