• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
姑娘就是先生
博客园    首页    新随笔    联系   管理    订阅  订阅
深入理解多态

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

posted on 2017-07-07 19:27  姑娘就是先生  阅读(220)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3