Advertisement

面向对象设计OO(D)(开篇)

阅读量:

开篇:

近期正在研读《Head First Design Patterns》一书,为便于自我梳理与归纳,决定撰写一系列相关博客文章,本文即为该系列的首篇。

正文:

第一个简单的设计:

本次项目的核心人物为Joe,其所任职的企业开发了一款广受好评的鸭子游戏。该游戏能够呈现出多种类型的鸭子,并赋予这些鸭子游泳与鸣叫的功能。目前,Joe需要构建一个系统以满足上述功能需求。

初始设想:这似乎并非难事,如下图所示的类结构。Duck类负责实现Swim()与Quack()方法;而RedDuck与BlackDuck则通过继承Duck类的方式,分别实现Display()方法——由于红鸭与黑鸭在展示效果上存在差异,因此需要对Display()方法进行覆盖(override),除了内部逻辑部分外,其余内容需保持与父类一致。

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

![](https://cdl.itad

全部评论 (0)

还没有任何评论哟~