python Class:物件導向進階編程 多重繼承

來源:互聯網
上載者:User

標籤:weight   分享圖片   ali   print   程式   sans   div   splay   family   

繼承:通過子類繼承父類資訊而達到子類可以擴充功能的目的

多重繼承:通過子類繼承多個類


一、多重繼承一類

套用廖雪峰的例子:

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

  • Dog - 狗狗;

  • Bat - 蝙蝠;

  • Parrot - 鸚鵡;

  • Ostrich - 鴕鳥。



按哺乳和鳥類分:

按跑和飛分:


總的:


程式:

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


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

class Bat(Mammal, Flyable):
    pass

class Parrot(Bird, Flyable):
    pass

class Ostrich(Bird, Runnable):
    pass


dog = Dog()
dog.run()


運行結果: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...')


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


dog = Dog()
dog.run()

運行結果:Running...


最後發現,一類和二類沒啥區別。。。。。。逗我呢。。。。。。。Mask一下,日後再回頭看。


       

python Class:物件導向進階編程 多重繼承

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.