1.接口:
接口可以解决继承所出现的所有子类的行为都一样的缺点,但是Java接口不具有实现代
码,无法达到代码的复用。
2.设计原则:
2.1 找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。
封装:另一种思考方式:把会变化的部分取出来并"封装"起来,好让其他部分不会收到影响。
2.2、针对接口编程(真正意思是针对"针对超类型supertype编程"),而不是针对实现编程
"针对接口编程",关键就在多态。利用多态,程序可以针对超类型编程,执行时会根据实际情况执行到真正的行为,不会被绑死在超类型的行为上。