大家都说“接口只是一个规范,不提供任何实现的。一般用类来实现这个接口,当这个类的实现出现修改时,对调用接口的人而言却是没有任何影响的。比如说一个接口提供一个方法,然后我有A、B、C、D四个类都能实现这个接口,那调用这个接口的人就根本不用管我具体是用哪个类来实现这个接口的 ”。我在这里就不明白了,比如有A和B两个项目,A项目对B公开API,B根据A提供的API进行数据的获取等。但是A只是提供一个接口而已,而且你又不能这样来用:Animal a = new Animal()来调用相关方法,你必需知道有哪个类实现了Animal;比方说A项目中有一个类Cat实现接口Animal,在A项目对B公开的API中Animal有一个方法 Cat GetCat(); 上面也说了“根本不用管我具体是用哪个类来实现这个接口的”,那么就不用能Animal animal = new Cat()来实例化了,那B项目如何编写代码来获取Cat数据呢?
Animal: public interface Animal{ Cat GetCat(); }
Cat: public class Cat:Animal{ public Cat GetCat() { ///Get data return cat; } }