zoukankan      html  css  js  c++  java
  • abstract class 和 interface有什么区别

      一。抽象类可以实现(包括构造函数),而接口不可以有任何的实现,重要的是抽象类可以包含抽象方法,这是普通方法所不能的,抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖他们,接口中所有的方法都必须是为实现的。

       二。抽象类中还可以有成员变量(包括静态变量)、属性、常量、和静态方法。并且他们可以是非公共的。但是接口中不能有成员变量,常量,静态方法,只能有公共属性。

    三、抽象类可以从另一个类或者一个/多个接口派生。而接口不能从另一个累派生,但是可以实现另一个或者多个接口。

    四、一个.net类只能从一个基类中派生,即使这个基类是抽象类。然而一个.net类可以实现多个接口。

    相同点:

        1.不能实例化。

        2.包含未实现的方法声明。

        3.派生类必须实现

  • 相关阅读:
    webpack-bundle-analyzer使用
    HTTP1.0,HTTP1.1和HTTP2.0区别
    document.readyState
    async和defer
    页面生命周期
    key的理解
    解释型语言和编译型语言
    AMD/CMD/CommonJS与ES6 Module的区别
    vue的keep-alive原理
    数字钱包metaplex-foundation
  • 原文地址:https://www.cnblogs.com/weiying/p/weiying06_12.html
Copyright © 2011-2022 走看看