zoukankan      html  css  js  c++  java
  • 深入理解多态

    1.实现多态的三种方式
       1.1 虚方法
       1.2 抽象类
       1.3 接口
    2.里氏替换
       2.1 里氏替换的概念:在一个软件系统中,如果子类替换父类出现的位置,而对整个软件系统功能没有影响。
    3.抽象类和抽象方法
       虚方法可以选择性的被子类重写,抽象方法强制子类必须重写
       3.1 一个类中abstract修饰,就是抽象类
       3.2 抽象类不能实例化(换个说法就是 不能new)
       3.3 抽象方法不能有方法体,甚至连{}都不能有
       3.4 抽象方法只能存在于抽象类中
       3.5 抽象方法存在的目的:就是为了约束子类中方法存在的形式(参数列表和返回值类型)
       3.6 抽象类不能是静态类(static)或者密封类(sealed)
       3.7 抽象类中的所有抽象方法都必须被子类重写,除非子类本身也是一个抽象类
       3.8 一键重写所有抽象方法的快捷键:Shift+Alt+F10  或者 Ctrl+.(无输入法的情况下)
    4.通过接口实现多态
       4.1 接口是一种规范
       4.2 接口也是一种数据类型,数组 类 接口 泛型,string都是引用类型
       4.3 C#中接口里面不能有变量
    5.接口是比抽象类抽象程度更高的一个封装体
    6.抽象类可以有构造,也可以有普通方法
    7.父类: 基类/父类/超类
      子类: 派生类
    8.索引器的本质是属性,属性的本质是方法.
      事件的底层代码是通过委托实现的.

  • 相关阅读:
    转:页面刷新方法
    CSS 浏览器兼容与解析
    转XML格式与DataTable、DataSet、DataView格式的转换
    好文共欣赏--发布收藏
    利用HttpWebRequest自动抓取51la统计数据
    Asp.net中多语言的实现
    转 启用IIS的Gzip压缩
    在asp.net web 程序中使用Sqlite数据库
    cte+xml
    trace (转)
  • 原文地址:https://www.cnblogs.com/GIRLANDBOYS/p/7133795.html
Copyright © 2011-2022 走看看