七个面向对象设计原则和24个设计模式(23个GoF设计模式 + 简单工厂模式)

史上最全设计模式导学目录(完整版)

https://blog.csdn.net/LoveLion/article/details/17517213

image.png
image.png

模拟鸭子游戏

需求一:会游戏的鸭子

  1. 抽象类

image.png

  1. 子类 ,重写 display方法

image.png

3.main 方法
image.png

需求二:添加会飞的鸭子

1.在超类添加 fly() 出现问题

image.png

2.覆盖溢出的方法 fly()
其他不会飞的鸭子,覆盖fly() no fly
继承 存在问题:会有溢出效应,
image.png

继承好处:可以复用代码

策略模式解决继承溢出

image.png

一、使用接口

image.png

image.png

1.更改超类
添加接口
image.png

  1. 子类使用行为族

image.png

image.png