python_面向对象——多态

1.同一接口,多种形态

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

    def show(self):
        # 异常处理:提示子类必须把此方法重新写一遍
        raise NotADirectoryError('子类必须把此方法重新写一遍')

class Pdf(Document):
    def show(self):
        print('pdf文档')

class Word(Document):
    def show(self):
        print('word文档')

pdf_obj = Pdf('wdc.pdf')
word_obj = Word('yhf.doc')
# 将多个对象放到一个列表中
objs = [pdf_obj,word_obj]
# 循环这个列表,来实现同一接口多种形态
for i in objs:
    i.show()

python_面向对象——多态