Python入門基礎篇 No.81 —— super()獲得父類定義_多型
阿新 • • 發佈:2021-01-22
技術標籤:# 基礎多型程式語言python面向物件程式設計windows
Python入門基礎篇 No.81 —— super()獲得父類定義_多型
文章目錄
前言
一、super()獲得父類定義
- 在子類中,如果想要獲得父類的方法時,我們可以通過 super()來做。
- super()代表父類的定義,不是父類物件。
程式碼演示:
# super()
class A:
def say(self) :
print('A:', self)
print('say A')
class B(A):
def say(self): # A.say(self) 呼叫父類的say方法
super().say() # 通過super()呼叫父類的方法
print('say B')
b = B()
b.say()
------------------------
A: <__main__.B object at 0x000002DA1D5962B0>
say A
say B
二、多型
- 多型(polymorphism)是指同一個方法呼叫由於物件不同可能會產生不同的行為。在現實生活中,我們有很多例子。比如:同樣是呼叫人的休息方法,張三的休息是睡覺,李四的休息是玩遊戲,程式設計師是敲程式碼。同樣是吃飯的方法,中國人用筷子吃飯,英國人用刀叉吃飯,印度人用手吃飯。
- 關於多型要注意以下 2 點:
1.多型是方法的多型,屬性沒有多型。
2.多型的存在有 2 個必要條件:繼承、方法重寫。
程式碼演示:
# 多型
class Animal:
def shout(self):
print("動物的叫聲")
class Dog(Animal):
def shout(self):
print("小狗,汪汪汪")
class Cat(Animal):
def shout(self):
print("小貓,喵喵喵")
def animal_shout (a):
if isinstance(a, Animal):
a.shout() # 傳入的物件不同,shout方法對應的實際行為也不同。
animal_shout(Dog())
animal_shout(Cat())
----------------------------------
小狗,汪汪汪
小貓,喵喵喵
總結
以上幫各位總結好了,收藏,關注即可查收。
關注下方公眾號,免費拿Python學習資料!!!