zoukankan      html  css  js  c++  java
  • C# abstract 和 interface 区别

    • 抽象类主要用来提供多个派生类可共享的基类的公共定义,它与非抽象类的主要区别如下:

    抽象类不能直接实例化。

    抽象类中可能包含抽象成员,但非抽象类中不可以。

    抽象类不能被密封。

    • 接口具有以下特征

    接口类类似于抽象基类,继承接口的任何非抽象类型都必须实现接口的所有成员。

    不能直接实例化接口。

    接口可以包含事件,索引器,方法和属性。

    接口不能不包含方法的实现。

    类和结构可从多个接口继承。

    接口自身可从多个接口继承。

    • 抽象类和接口的区别主要有一下几点:

    它们的派生类只能继承一个基类,既只能直接继承一个抽象类,但可以继承任意多个接口。

    抽象类中可以定义成员的实现,但接口中不可以。

    抽象类中可以包含字段,构造函数,析构函数,静态成员或常量等,接口中不可以。

    抽象类中的成员可以是私有的(只要他们不是抽象的),受保护的,内部的或受保护的内部成员(受保护的内部成员只能在应用程序的代码或派生类中访问),接口中的成员必须是公共的。

  • 相关阅读:
    java的多线程学习,第二记
    java多线程的学习
    长城
    2018-12-6
    mysql的笔记
    springboot用jpa生成表,没有外键
    idea 使用方法
    Oracle数据库中文乱码问题
    JAVA-Could not create the Java virtual machine java启动失败
    log4j日志如何在ssh中配置?
  • 原文地址:https://www.cnblogs.com/houxt/p/11344953.html
Copyright © 2011-2022 走看看