image.png
image.png
image.png


1.解决思路

建立一个顶级类Duck,其次建立会飞的鸭子以及会叫的鸭子作为子类,不会叫的鸭子作为另外一个子类,每个子类各司其职

2.多选题我选择BDEF


这个思路大致和我想的差不多,但如果是接口形式,那么必定接口会特别庞大,类会实现多个接口,本质上和我设计的解决思路一直,都不太好

image.png

作者也说了这个原因,确实不好,但我也想不到第二个解决方案

image.png


image.png

1.代码没有设计好,没有抽成公共方法导致会有重复代码,如果需求改变,又忘记改重复代码,会造成线上问题

2.写代码需要考虑复用性,性能


image.png

和我想的大概一致


做题目

image.png

第一个问题:
image.png
image.png
image.png
这里的继承和抽象类完全多余,写错了,第二个问题本质和第一个一样,就不写了

剩下写鸭子的代码都提交到码云仓库了https://gitee.com/Ewanxjy/HeadFirst/tree/master