zoukankan      html  css  js  c++  java
  • C#中抽象类和接口的区别3

    一、普通类和抽象类之间的异同 
    1.都可以被继承 
    2.抽象类不能被实例化,只是用来继承的。普通类可以实例化 
    3.抽象方法只有含方法声明而没有方法体且必须包含在抽象类里面 
    4.子类继承抽象类必须实现抽象类中的抽象方法除非子类也是抽象类 
    5.抽象类中可以包含抽象方法也可以包含实例方法

    二、抽象类和接口之间的异同 
    相同点: 
    1.都可以被继承 
    2.都可以有方法的声明 
    3.都不可以被实例化 
    4.子类必须实现基类的方法除非子类是抽象类

    不同点: 
    1.抽象类属于多继承接口属于单继承 
    2.抽象类可以包含实例方法而接口不能 
    3.接口支持回调抽象类不能 
    4.子类实现抽象基类方法必须用override关键字而实现接口方法则不用override关键字

    三、什么是虚方法 
    1.用关键字virtual声明的方法叫虚方法 
    2.虚方法可以只是表明可以被重写 
    3.虚方法可以被重新也可以不被重写 
    4.虚方法包含方法声明和方法体 
    5.静态方法不能声明为虚方法,也不能被重写

  • 相关阅读:
    Linux基本结构
    Linux诞生
    Python之克隆
    Python之数据类型转换
    gb18030与utf-8
    for循环与while循环
    code::blocks调试
    关于隐式创建vue实例实现简化弹出框组件显示步骤
    blob canvas img dataUrl的互相转换和用处
    观察者模式与发布订阅模式的区别
  • 原文地址:https://www.cnblogs.com/Mryang-blog-cn/p/method4.html
Copyright © 2011-2022 走看看