尽量消除if-else,使用多态代替。原因在于,如果用if-else,新增一种或者删除一种,所有的if-else都要改动。而使用多态,只需要新增或者删除一个实现类。如果保证只有一处if-else,那么可以不用多态,但是如何保证只有一处呢?所以还是要用多态消除if-else。当然使用了多态也不是说完全不用if-else,多态会在构建子类对象时用一次if-else,之后子类信息已经确定了,后面的行为都可以多态。
当然多态适用于行为的差异。如果只是属性的差异,可以多态get方法,但如果很简单,可以不多态,直接在开始的位置赋成不同的值即可。
【Java】多态代替switch
最新推荐文章于 2024-06-17 09:21:23 发布