面向对象设计OO(D)(开篇)
发布时间
阅读量:
阅读量
开篇:
近期正在研读《Head First Design Patterns》一书,为便于自我梳理与归纳,决定撰写一系列相关博客文章,本文即为该系列的首篇。
正文:
第一个简单的设计:
本次项目的核心人物为Joe,其所任职的企业开发了一款广受好评的鸭子游戏。该游戏能够呈现出多种类型的鸭子,并赋予这些鸭子游泳与鸣叫的功能。目前,Joe需要构建一个系统以满足上述功能需求。
初始设想:这似乎并非难事,如下图所示的类结构。Duck类负责实现Swim()与Quack()方法;而RedDuck与BlackDuck则通过继承Duck类的方式,分别实现Display()方法——由于红鸭与黑鸭在展示效果上存在差异,因此需要对Display()方法进行覆盖(override),除了内部逻辑部分外,其余内容需保持与父类一致。

次日,产品经理满怀信心地对Joe表示:“为了在竞争中占据优势,我们必须赋予我们的鸭子飞行的能力,我相信你一定能够实现这一目标!”面对压力,Joe只得照办,随即在Duck类中直接添加了fly()方法。

还没有任何评论哟~
