類別的多型
多態的概念其實不難理解,它是指對不同類型的變數進行相同的操作,它會根據物件(或類別)類型的不同而表現出不同的行為。
事實上,我們常用到多態的性質,例如:
>>> 1 + 2 3 >>> 'a' + 'b' 'ab'
可以看到,我們對兩個整數進行操作,會傳回它們的和,對兩個字元進行相同的操作,會傳回拼接後的字串。也就是說,不同類型的物件對同一訊息會作出不同的回應。
看下面的實例,來了解多態:
#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
class User(object):
def __init__(self, name):
self.name = name
def printUser(self):
print('Hello !' + self.name)
class UserVip(User):
def printUser(self):
print('Hello ! 尊敬的Vip用户:' + self.name)
class UserGeneral(User):
def printUser(self):
print('Hello ! 尊敬的用户:' + self.name)
def printUserInfo(user):
user.printUser()
if __name__ == '__main__':
userVip = UserVip('两点水')
printUserInfo(userVip)
userGeneral = UserGeneral('水水水')
printUserInfo(userGeneral)輸出的結果:
Hello ! 尊敬的Vip用户:两点水 Hello ! 尊敬的用户:水水水
可以看到,userVip 和userGeneral 是兩個不同的對象,對它們呼叫printUserInfo 方法,它們會自動呼叫實際類型的printUser 方法,作出不同的回應。這就是多態的魅力。
要注意喔,有了繼承,才有了多態,也會有不同類別的物件對同一訊息會作出不同的對應。
新建檔案
預覽
Clear
- 課程推薦
- 課件下載
課件暫不提供下載,工作人員正在整理中,後期請多關注該課程~ 















