你这就有点偏激了,怎么可能所有的类调用都用接口来实现呢。举个例子吧,我现在在做简历解析,因为每种简历解析都是不一样的,因此我最开始编程是用if else来判断,51job,中华人才,前程无忧,word,没个解析都是一个函数。后来为了简单起见,没个都单独放到一个类中,再后来,封装了一个接口,接口仅仅定义了函数analyisResume,在展现控制层,仅仅通过[接口] i = [接口].getInstanse();然后调用i.analyisResume();,在展现控制层,你仅仅会看到调用,但是实现无需你来操作。这样做的好处是,无论什么时候,你的展现控制层都无需修改,如果有变动,只要改相关类即可,工厂模式无非也是类似,这是我目前做的一个场景,你也可以体会一下。其实,接口编程常用的场景是:一类处理,多个实现。不是有处理就要用接口,反而伪形式主义了
Animal[] animalArray=new Animal[1000];//马拉松哦里面有阿猫 阿狗 猪牛羊..................
animalArray[0] = new cat()
animalArray[1] = new dog()
......
好了 你现在让它们开始跑把for(int i=0,i<1000,i++){
animalArray[i].run()
}如果是直接的话 你能用for循环吗~ 当然还有其他问题 多态.......工厂模式.....
我们会写如下代码,只要是继承自IDispose接口就可以这样写
using(类 对象 = new 类构造())
{
你的操作。
}
当执行完毕后,会自动调用对象的Dispose()方法进行释放。接口定义的行为与规范,必须牢记。。
接口只有一个,但是实现类会有很多,你怎样分辨呢用接口
2楼的例子就很好!还有如果dog,cat等是存在数据库的,还可以利用反射以及数据库中读出的数据直接判断是dog.eat()还是cat.eat()。
还有一种情况,如果两个人分工合作,一个负责数据库操作,一个负责表示层的操作!如果没有一个统一的接口,他们是没有办法同时工作的!