亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

類別的多型

多態(tài)的概念其實不難理解,它是指對不同類型的變數(shù)進(jìn)行相同的操作,它會根據(jù)物件(或類別)類型的不同而表現(xiàn)出不同的行為。

事實上,我們常用到多態(tài)的性質(zhì),例如:

>>> 1 + 2
3
>>> 'a' + 'b'
'ab'

可以看到,我們對兩個整數(shù)進(jìn)行操作,會傳回它們的和,對兩個字元進(jìn)行相同的操作,會傳回拼接後的字串。也就是說,不同類型的物件對同一訊息會作出不同的回應(yīng)。

看下面的實例,來了解多態(tài):

#!/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)

輸出的結(jié)果:

Hello ! 尊敬的Vip用戶:兩點水
Hello ! 尊敬的用戶:水水水

可以看到,userVip 和userGeneral 是兩個不同的對象,對它們呼叫printUserInfo 方法,它們會自動呼叫實際類型的printUser 方法,作出不同的回應(yīng)。這就是多態(tài)的魅力。

要注意喔,有了繼承,才有了多態(tài),也會有不同類別的物件對同一訊息會作出不同的對應(yīng)。

繼續(xù)學(xué)習(xí)