• abstract class 和 interface有什么区别


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

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

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

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

    相同点:

        1.不能实例化。

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

        3.派生类必须实现

  • 相关阅读:
    Can't connect to local MySQL server through socket '/tmp/mysql.sock'
    reversePairs
    sort
    分割数组的最小值
    decode string
    276. 栅栏涂色
    133. Clone Graph
    Palindromic string
    爬楼梯
    正则匹配
  • 原文地址:https://www.cnblogs.com/weiying/p/weiying06_12.html
Copyright © 2020-2023  润新知