首页 > 代码库 > 深入理解多态

深入理解多态

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.索引器的本质是属性,属性的本质是方法.
  事件的底层代码是通过委托实现的.

深入理解多态