溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python Class:面向?qū)ο蟾呒?jí)編程 多重繼承

發(fā)布時(shí)間:2020-08-01 00:03:19 來源:網(wǎng)絡(luò) 閱讀:586 作者:虎皮喵的喵 欄目:編程語言

繼承:通過子類繼承父類信息而達(dá)到子類可以擴(kuò)展功能的目的

多重繼承:通過子類繼承多個(gè)類


一、多重繼承一類

套用廖雪峰的例子:

https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/0013868200511568dd94e77b21d4b8597ede8bf65c36bcd000

  • Dog - 狗狗;

  • Bat - 蝙蝠;

  • Parrot - 鸚鵡;

  • Ostrich - 鴕鳥。



按哺乳和鳥類分:

python Class:面向?qū)ο蟾呒?jí)編程 多重繼承

按跑和飛分:

python Class:面向?qū)ο蟾呒?jí)編程 多重繼承


總的:

python Class:面向?qū)ο蟾呒?jí)編程 多重繼承


程序:

#!/usr/bin/python
# -*- coding: utf-8 -*-

class Animal(object):
    pass


# 大類:
class Mammal(Animal):
    pass

class Bird(Animal):
    pass


#功能
class Runnable(object):
    def run(self):
        print('Running...')

class Flyable(object):
    def fly(self):
        print('Flying...')


# 各種動(dòng)物:
class Dog(Mammal, Runnable):
    pass

class Bat(Mammal, Flyable):
    pass

class Parrot(Bird, Flyable):
    pass

class Ostrich(Bird, Runnable):
    pass


dog = Dog()
dog.run()


運(yùn)行結(jié)果:Running...


二、多重繼承二類:Mixin

除了大類,其他繼承的類,只要在類名后面+Mixin就可以了。

程序:


#!/usr/bin/python
# -*- coding: utf-8 -*-

class Animal(object):
    pass


# 大類:
class Mammal(Animal):
    pass

class Bird(Animal):
    pass


#功能
class RunnableMixin(object):
    def run(self):
        print('Running...')

class FlyableMixin(object):
    def fly(self):
        print('Flying...')


# 各種動(dòng)物:
class Dog(Mammal, RunnableMixin):
    pass
class Bat(Mammal, FlyableMixin):
    pass
class Parrot(Bird, FlyableMixin):
    pass
class Ostrich(Bird, RunnableMixin):


dog = Dog()
dog.run()

運(yùn)行結(jié)果:Running...


最后發(fā)現(xiàn),一類和二類沒啥區(qū)別。。。。。。逗我呢。。。。。。。Mask一下,日后再回頭看。


       

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI