多继承

 

OCP原则:多继承,少修改

继承的用途:增强基类,实现多态

 

多态

在面向对象中,父类和子类通过继承联系在一起,如果可以通过一套方法,就可以实现不同表现,就是多态

 

一个类继承自多个类就是多继承,他将具有多个类的特征

 

 

class Document:
    def __init__(self,content):
        self.content=content

    def print(self):
        print(self.content)

class Word(Document):
    pass
    # def print(self):
    #     print('Word print {}'.format(self.content))

class PrintableWord(Word):
    def print(self):
        print('PrintableWord  {}'.format(self.content))

class Pdf(Document):
    pass

print(PrintableWord.__mro__)
word=PrintableWord('vbn\nuiop')
word.print()
print(word.__dict__)

 

class Printable:
    def _print(self):
        print(self.content)

class Document:
    def __init__(self,content):
        self.content=content

class Word(Document):
    pass
class Pdf(Document):
    pass

class PrintableWord(Printable, Word):
    pass

print(PrintableWord.__dict__)
print(PrintableWord.mro())

pw=PrintableWord('vbnm\nuiop')
pw._print()

 

posted @ 2020-10-03 18:56  ascertain  阅读(342)  评论(0编辑  收藏  举报