zoukankan      html  css  js  c++  java
  • 关于接口的思考

    1、接口的意义:

    以前一直在思考的是接口的意义是什么,我们定义一个类,如果继承了接口,就需要实现接口的全部方法和属性,字段等,那么为什么要继承接口,直接定义我们想要的类就好了,后来随着接触的增多,再加上网上搜索的一些资料,渐渐体会到接口的诞生是一个很伟大的发明:

    1)、接口可以定义规范,指的是我们在接口中定义一个方法,后面继承的类都需要实现该方法,且方法必须同名。这样子就形成了命名规范,增加代码的可读性。

    2)、接口可以完善定义规则,是一个标准,这个怎么说呢,就是我们在做项目的时候如果一个类需要实现很多方法,就有可能会忘记,而定义接口并且继承他就可以避免这一个问题的发生。

    3)、接口是多态的一种实现方式,在面向对象编程当中接口助于体现多态的特性,比如使用工厂模式就是使用了接口,还有在依赖注入和控制反转当中都是使用了接口来降低耦合性。

    4)、。。。后面再补充,暂时就想到这么多。

    2、来看一个接口的定义,以集合为例(因为这里面包含了我的一个思考):

    (图片来自On the road...的博客:http://www.cnblogs.com/yang_sy/p/3598970.html)

    我们再上一张图(List的定义继承图):

    我们可以发现我们List很牛逼的继承了它的所有前辈,但是,其实他只要继承IList<T>和IList就可以实现相同的功能了,为什么微软在定义的时候还要把其他的前辈都继承了呢?

    后来仔细领悟渐渐觉得这个可能是为了提高代码的可读性。

     

    上面这一段代码是我敲的,我们可以看到,class Third是有实现了接口IFirst的方法的,但是我在写class Third的时候没有表明是有继承IFirst的,这样子如果别人要使用我的类的时候如果想要使用多态,就需要一级一级的往下看,才能够知道是可以使用IThird来接收的。

  • 相关阅读:
    获取农历日期
    图片上传代码(C#)
    ASP.net使用技术总结(1)GridView控件的单击处理
    JavaScript使用小技巧:IE8的关闭处理
    FrameSet左右收缩编码
    哈哈,开心!今天注册开通了 弟弟Kernel 的网志
    设计模式简介
    Delphi字符串、PChar与字符数组之间的转换
    C++中数组参数详解
    1、简单工厂模式
  • 原文地址:https://www.cnblogs.com/heisehenbai/p/Interface.html
Copyright © 2011-2022 走看看