『面向对象里的接口是干什么的?』什么是面向接口的编程

面向对象里的接口是干什么的?
相信很都有这样的疑问,我们经常口内定义了方法,有方法的实现,实要继承接实现方法.可是这样做有什么意义呢?
在实际开发中,项目的模块有很多,必须有模块间的相互引用,如果我们把每个模块都成实现类(没有接口,存在若干实现类),每次引用必须去拿需要的方法做在的类,这样程序看起来就要死人了.
当我们实现一个接口后,就可以把需要的方法集中起来,不管你是几个类里实现的,使用的人只要实例化这个接口就可以使用所有方法----这是在使用上;在开发过程中,一般设计人员会把需要的方法列举出来放在接口里,至于实现,可以分配给不同的程序员去实现在不同的类文件里.
当然,这只是接口的一点点优点,也是我三根鞋带同志在实际应用中感受最明显的.前辈发明接口的构思要比我说的复杂的多,但我们程序员只要这样的理解这样去使用就足够了---


在面向对象语言中,什么是接口?
我是java出身的 没学过C但大题的意一样的
一个接口 fly(飞翔) 可以有多个类去实现它
比如说: bird(鸟)实现了fly接口
insect(昆虫)也实现了fly接口
好了,问题===
有一个方法需要传参数 参数的类型是可以飞翔的 f(fly f){}
现在就体现出了接口的好处,我们给方法的参数设成fly接口类型的
1 你可以传 bird 还可以传 insect
2 你想传其他的(比如超人superman)你就让superman实现fly接口就OK了
如果你把参数设成 bird 那你就只能传一类的了,是不是太窄了??
定义一个接口fly
*******
public interface Fly {
//定义接口 用interface 下面是接口的一个方法
public void fly();
}
*******
实现类“鸟”
public class Bird implements Fly {
public void fly() {
//意思是输出 ”鸟在飞“
System.out.println("鸟在飞");
}
}
*******
实现类昆虫
public class Insect implements Fly {
public void fly() {
//输出 ”昆虫在飞“
System.out.println("昆虫在飞");
}
}
*******
测试类 Test
public class Test {
public static void main(String[] args) {
Test t = new Test();
Insect insect = new Insect();
Bird bird = new Bird();
//下面输出的结果是 ”昆虫在飞“
//如果把()里面的insect 改成 bird就会输出 ”鸟在飞“
t.TestFly(insect);
}

//下面的方法就是根据你 传的参数来确定掉用哪个方法
public void TestFly(Fly f){
f.fly();
}
}
呵呵,在java里是没有多继承,但是可以实现多个接口的哦~~~
比如
public class Bird implements Fly implements Eat{
}
这是可以的
关于java面向对象编程和面向接口编程区别
面向接口编程的好处就是能让你的程序有很好的扩展性,而且便于维护,可以降低程序的耦合性,等你以后学SSH的时候你就会体会到面向接口的好处
谁说说面向对象里面接口呀?接口和类好像呀!!!
接口的方法不能直接调用
不能直接转化 能继承再把里面象方法实现了就OK了
说说我的理解吧
接口不能实例化 他里面可以有抽象方法 属性 只能被继承 在继承的时候 要
实现里面的抽象方法
借口看起来和类差不多 但是类的继承是单继承的 不能同时继承多个类
借口就可以多继续 就是一个类或借口 可以继承多个借口
说个例子吧 鸟是一个类 但是有有会飞的 能游泳的 能抓鱼的
有的只有上诉属性的一个或两个 用类的话就不好实现 就要写好多类
用接口的 就把 没一个属性写成一个接口就是
interface 会飞
interface 游泳
interface 抓鱼的
三个接口 再把他们会吃 走 睡觉声的 写到一个类里
Class 鸟
下面就是继承的了
所有的鸟都继承鸟类 再继承他们特有的属性 就是接口里的
比如 鱼鹰类
Class 鱼鹰:Class 鸟 interface 会飞 interface 游泳 interface 抓鱼的
不会游泳的就不继承游泳接口 不会抓鱼的就不继承 抓鱼接口
借口最大的特点就是多继承性
如果你只使用类 类只能继承一个类 你就得把所有的都写出来 代码重复太多
先抽象出来大家都有的 写成一个类 所有的类都继承于他 在把特有的分类写成接口 需要什么就继承什么 很方便 也很直观 继承性是很好用的啊
举的例子可能不太恰当 见谅