摘要:
先看下面一个例子: JOB开发了一个模拟鸭子游戏,游戏中会出现各种各样边游戏边呱呱叫的鸭子。该游戏系统采用了标准的OO(object Oriented)技术开发,系统中所有的鸭子都继承与Duck类,核心类图如下: 随着与其他公司的竞争愈发激烈,公司高管认为,游戏需要模拟会飞的鸭子,从而来甩开竞争对手。与是JOB理所当然的在Duck类中添加了个Fly()方法,然后让所有的鸭子都继承这个方法。修改后的核心类图如下: 但是,可怕的事情发生了,在演示中,游戏中新添加的鸭子角色RubberDuck【橡皮鸭子】,在天空飞行,因为在Duck类添加了Fly()方法... 阅读全文