黑马程序员技术交流社区

标题: 关于接口的问题 [打印本页]

作者: 李恒权    时间: 2014-3-9 00:11
标题: 关于接口的问题
本帖最后由 李恒权 于 2014-3-9 14:38 编辑

接口怎么用法?使用接口有什么好处?什么情况下使用接口?请求支援。
作者: Q.z.l    时间: 2014-3-9 01:57
我感觉接口算是类与类之间的约束和规范吧,一个人写代码的时候应该会感觉用处不大,但多人合作的时候这种东西就应该能体现用处了。
两个程序员各自分工写类,一个写猫,一个写狗,两个类都有“叫”的方法。但两个人写程序的习惯不同,很可能写的方法也有区别。那我们定义一个接口,就规定继承了这个接口的类方法都得这样写,这样就等于给了程序一种约束和规范。
至于还有没其他用法就不清楚了。
作者: 李恒权    时间: 2014-3-9 14:09
Q.z.l 发表于 2014-3-9 01:57
我感觉接口算是类与类之间的约束和规范吧,一个人写代码的时候应该会感觉用处不大,但多人合作的时候这种东 ...

着实是不太能理解,总感觉:有嘛,也不会报错,但好像也没有用处;没有反倒更好,没那么多好像没用处的代码。
作者: czwanglei    时间: 2014-3-9 14:13
接口这个要慢慢理解。接口可以留着给别人用,当做大项目时,对接口的理解会更深。
作者: 李恒权    时间: 2014-3-9 14:37
czwanglei 发表于 2014-3-9 14:13
接口这个要慢慢理解。接口可以留着给别人用,当做大项目时,对接口的理解会更深。 ...

嗯,多谢版主指点,那我就暂时不纠结这个问题先。
作者: 朝花夕拾_黑马    时间: 2014-3-12 09:53
    接口:相当于没有方法实现的抽象类。
    public interface IFlyable{  void Flay(); }

    在C#中,一个类只能继承自一个类,但是可以实现多个接口。一个抽象类中可以定义实现代码,但是接口不能定义实现代码(哪怕方法中只是一个空的括号,也是空实现)。

   在C#中,抽象类定义的是公共的实现和公共的能力,而接口只能是定义公共的能力,接口相当于给类打个标签,标志这个类有这种能力。
   
  




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2