有个地方不太懂
来源:2-1 讲解工厂模式
M灬spirit
2020-07-10 11:27:07
在I18NFactory类中,他的静态方法是返回I18N,I18N是接口类,而return的是Chinese、Italian这种实现类,它们一个是接口,一个是类,为什么可以等同?
1回答
同学你好,这里的Chain,Italian,Spainish等都是接口I18N接口的实现类,在工厂类中,返回工厂类的实例时,使用接口I18N作为返回值类型即可。其实对应就是由接口引用指向实现类的多态的使用:
I18N n=new Chinese();
如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
相似问题