* 接口与类的区别在于
* 接口像一个规范,一个协议,属于抽象的概念。
* 类则实现了这个协议,满足了规范下的具体实体,属于具体的概念。
* 接口对函数进行了声明,而类是函数的实现。
* 接口可以实现不相关类的相同行为,不需要了解对象所有的类。可以指明多个类需要实现的方法
下面引用别人很好的解释
我们可以把usb接口类比于java中的一种接口,MP3,u盘....可以类比于实现了这种接口的具体的类;要使MP3和u盘插入usb后有反应,它们就都得符合usb接口都规范,就像java类如果要实现一个接口就得覆习接口中的所有方法,可以把接口中的方法看做一种规范。
再比如我们要写很多动物的类,我们可以不要接口,分别写出各个动物的类包括它们具有的属性和方法,当这样做是不好的。我们大可以写一个动物的接口,其中包括一些方法,比如说eat(),sleep(),walking()....,这些方法都是动物所具有的共性,因为所有动物都吃,都睡觉,都会走路。
再写动物的类时,就可以实现那个动物接口。但具体的动物他们吃,睡觉的方式又不同,这样就可以分别覆写出不同的方法。但这样让人感到更舒服,思路更清晰一些。
接口的另一些好处就是上面的朋友们讲的了,也就是一个类可以实现多个接口,我也就不赘述了。 |