通过本例子理解工厂模式和面向接口编程,并更好理解接口的使用