原理:将不同的算法封装成不同的类,在需要的时候,传递进去,而不是进行硬编码选择