zoukankan      html  css  js  c++  java
  • 抽象类和接口的区别比较

      在面向对象的概念中,抽象类和接口都是一种特殊的类,它们具有一些共性,也有一些区别。

      二者的相同点:

          都属于引用类型的数据,是一种特殊的类;

          都不能实例化;

          都可以包含未实现的方法声明和属性声明;

          两者的派生类都必须实现它们的声明,派生类实现抽象类的抽象属性和抽象方法,而接口则要实现它的所有成员

      二者的不同点:

          抽象类是由相似对象抽象而成的类,而接口是一个行为的规定或规范;

          一个类可以实现多个接口,但只能从一个基类(单继承的情况下)中派生;

          抽象类即包含了可变部分不可变部分,但是接口只定义了可变的部分;

         

       总的来说,抽象类是对根源的抽象,接口是对动作的抽象;抽象类表示这个对象是什么,接口表示这个对象能做什么;当关注一个事物的本质时,如要创建组件的多个版本,用抽象类,当关注功能操作的时候,如创建的功能要在所有对象中使用,则可以用接口。

    参考: 《C#可视化编程技术》

  • 相关阅读:
    Django的templates(模板)
    Django的urls(路由)
    Markdown中实现折叠代码块
    图片上传2
    Comparator 排序
    Serializable 序列化为文件
    统计连续签到的方法
    Serializable 序列化为字符串 base64
    Serializable 序列化使用限制
    Serializable 剔除某些不想保存的字段 transient
  • 原文地址:https://www.cnblogs.com/Zhang-Shangyu/p/5366001.html
Copyright © 2011-2022 走看看