• 接口和抽象类的区别


    从设计目的上来说,接口和抽象类,本身就具有者非常类似的目的。那就是都是想制定一套规则,将具体问题进行抽象,归纳。但接口与抽象类还是有一定区别:

     
    1)二者不在一个层级 
      抽象类可以实现接口,但接口却无法继承抽象类吧?所以严格来说,接口是抽象类的上级。 


    2)作用域不同 
      接口体现了的是相同类别或者不同类别下事物的归纳,而抽象类则更多的体现在对相同类别事务的归纳上。这在编程中的体现就是一个类可以实现多个接口,而不能继承多个抽象类,因为一个人能有各种的功能,这些功能可能是人类特有的,也可能是和其他动物共有的,但绝对不能有一个以上的亲生父亲。 


    3)开放性有所不同 
      接口和抽象类虽然相似,但在某些场合,如分布式开发中,接口就更受欢迎,特别是面向服务中,更关注的是能干什么?而相比之下,是什么不太重要。是骡子,是马,是头驴,反正能拉车就可以。所以我认为接口相比抽象类更开放一点,更适合互操作一点。 

    总而言之,接口与抽象类的区别主要在于使用的动机,而不在于其本身。而一个东西该定义成抽象类还是接口,要根据具体环境的上下文决定。再者,我认为接口和抽象类的另一个区别在于,抽象类和它的子类之间应该是一般和特殊的关系,而接口仅仅是它的子类应该实现的一组规则。

  • 相关阅读:
    插入排序
    APPlication,Session,Cookie,ViewState和Cache之间的区别
    sqlserver 2005新特性
    选择排序
    Transact_SQL小手册
    装箱和取消装箱
    select语句的执行步骤:
    using 的三种用法
    创建索引及撤销
    (转译)用FFmpeg和SDL写播放器08软件缩放
  • 原文地址:https://www.cnblogs.com/infinityu/p/3296922.html
Copyright © 2020-2023  润新知