- 变化: 让鸭子飞起来! (增加行为) 条件: 1 让鸭子飞起来. 2 不是所有的鸭子都会飞. 解决办法一:继承提供行为. (1)让所有的鸭子都用这个方法.(第一条),不会飞的就搞掉(第二条)====>为什么不把会飞的搞进子类中,不会飞的不搞呢? 多态. 做法总结: 利用继承来提供行为. 缺点: 1 运行时,行为不易改变. (代码已编译死)(大有文章) 2 改一处,动全身.(造成其它不想要的改变) 3 很难知道所有鸭子的所有行为.(为什么要知道?想一次性搞好?不再修改啊!可是无法知道将来的变化.) 否定用继承的办法:要有足够的理由,这还不够,要足够致命!足够重要! ===本例:每六个月变增加,行为没有想好!===无穷尽的修改!(如果你想这一辈子就做这一件事,可以!但是,别人允许你这样吗? 烦死了,总是改!人家还以为你不行呢!) 说明: 1每次继承,都要去盖掉.本来不应该有的(做本不该做的) 2关键是:隔很长时间,你总要记得你要去修改这些! 该死的原因是:在基类中,你加入了"不是通用"的东西. 最好的办法: 1通用的都用. 2特殊("行为")的特别对待. 解决办法二:接口提供行为 (1)想法:特殊的行为:谁有谁实现. ==(这样就解决了,有了不该有的行为:==没有实现的,它一定不会有!) 问题:代码重复加重!同样的东西,多次出现!只要有这个行为的,就重复代码一次! 否定这种做法的原因: 1重复代码! 2造成代码不能复用!(这是致命的,关键的,决不允许的!)
变化求生存
最新推荐文章于 2023-04-16 23:59:38 发布