Python面向对象编程:多态、鸭子类型与房地产应用开发
1. 多态的概念与应用
多态是指不同的行为会根据所使用的子类而发生,而无需明确知道实际的子类是什么。在音频文件播放的例子中,不同类型的音频文件(如 .wav 、 .mp3 、 .ogg )有不同的解压和提取音频的过程,但媒体播放器可以通过调用统一的 play() 方法来播放这些文件。
1.1 多态示例代码
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(AudioFile):
ext = "ogg"
def play(s
超级会员免费看
订阅专栏 解锁全文
202

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



