Python 学习笔记 -- 继承与多态(入门级实例)
生活随笔
收集整理的這篇文章主要介紹了
Python 学习笔记 -- 继承与多态(入门级实例)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 #繼承
2 #假設有不同品種的魚,它們的蛋白質含量都不同,那么我們吃掉這些魚獲得的效果也應該不同
3 #-----------------------------------------------------------------------
4 #實例一:主要演示簡單的多態,簡單的單繼承
5
6 #所有魚的基類
7 class Fish:
8 def __init__(self, calorie):
9 self.calorie = calorie
10
11 def get_calorie(self):
12 return self.calorie
13
14
15 #鯉魚
16 class Carp(Fish):
17 def __init__(self):
18 Fish.__init__(self,10)
19
20
21 #三文魚
22 class Salmon(Fish):
23 def __init__(self):
24 Fish.__init__(self,20)
25
26 #魷魚
27 class Sleeve(Fish):
28 def __init__(self):
29 Fish.__init__(self,15)
30
31 #愛吃魚的貓
32 class Cat:
33 def eat_fish(self,fish):
34 print("真好吃,我獲得了%d點卡路里!" % fish.get_calorie())
35
36 #先實例化一個對象
37 cat = Cat()
38 cat.eat_fish(Carp()) #喂它一只鯉魚
39 cat.eat_fish(Salmon()) #喂它一只三文魚
40 cat.eat_fish(Sleeve()) #喂它一只魷魚
41
42 #而繼承,其實就是將基類的屬性或者方法賦予派生類
43 #這邊是多態,可以對不同類的對象調用相同的方法,產生不同的結果
44 #這里值得注意的是,在Python中,變量是動態創建的,不像C++靜態創建。
45 #所以需要注意,當重寫父類的__init__方法是,需要調用父類類對象__init__方法
46
47 #-----------------------------------------------------------------------
48 #-----------------------------------------------------------------------
49 #實例二:主要是多重繼承
50 class BaseOne:
51 def fun_one(self):
52 print("fun-one")
53
54
55 class BaseTwo:
56 def fun_two(self):
57 print("fun-two")
58
59 class DeriveClass(BaseOne,BaseTwo):
60 pass
61
62
63 test = DeriveClass()
64 test.fun_one()
65 test.fun_two()
66 #-----------------------------------------------------------------------
?
轉載于:https://www.cnblogs.com/jiangchenxi/p/8058604.html
總結
以上是生活随笔為你收集整理的Python 学习笔记 -- 继承与多态(入门级实例)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 17. 风险管理
- 下一篇: Linux下父子进程的全局变量