Python 中的多态、抽象基类与房地产应用设计
1. 多态
多态是面向对象编程中的一个重要概念,它描述了一种简单的思想:根据所使用的子类不同,会发生不同的行为,而无需明确知道具体是哪个子类。
1.1 音频文件播放示例
假设有一个播放音频文件的程序,媒体播放器需要加载并播放 AudioFile 对象。不同类型的音频文件(如 .wav 、 .mp3 、 .ogg )解压和提取音频的过程不同,我们可以使用多态和继承来简化设计。
class AudioFile:
def __init__(self, filename):
if not filename.endswith(self.ext):
raise Exception("Invalid file format")
self.filename = filename
class MP3File(AudioFile):
ext = "mp3"
def play(self):
print("playing {} as mp3".format(self.filename))
class WavFile(AudioFile):
ext = "wav"
def play(self):
print("playing {} as wav".format(self.filename))
class OggFile(A
超级会员免费看
订阅专栏 解锁全文
1471

被折叠的 条评论
为什么被折叠?



