示例场景:主人起初只养了狗,需要实现喂养狗的一个功能;之后主人又养了猫,需要实现喂养猫的功能。
1. 不使用多态的实现
1.1 主人起初只养了狗,需要实现喂养狗的一个功能,示例代码如下。

1.2 后来,主人又养了猫,那么实现喂养狗、猫的示例代码如下。

总结:随着宠物的增加,主人这个类需要针对不同宠物添加不同参数的feed方法。当我们修改系统程序越多,那么出bug也就越容易。
2. 使用多态实现
1.1 主人起初只养了狗,需要实现喂养狗的一个功能,示例代码如下。
1.2 后来,主人又养了猫,那么实现喂养狗、猫的示例代码如下。

本文通过主人喂养不同宠物的场景,对比了不使用多态与使用多态两种方式实现喂养功能的区别。指出使用多态能更好地应对宠物种类的增加,降低程序间的耦合度,遵循开闭原则。

696

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



