• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
成为自己最想成为的那种人
博客园    首页    新随笔    联系   管理    订阅  订阅
面向对象总结

1. 为什么要用抽象类(abstract)?

    因为希望它能继承,但又不希望它能实例化(比如“动物”类实例化是没有意义的)。

2. 构造函数私有化

    不希望在其他类中通过 new 实例化一个实例(有些根本不能实例化,比如 Math 类;有些是类中专门提供了返回类对象的公有方法,比如单例模式)

3. 静态

    静态 + public:这就构成了全局访问

4. 虚方法 + 方法重写

    为了使子类的实例完全接替来自父类的类成员,父类必须将该成员声明为虚拟的。—— 在返回类型前加 virtual 关键字

    通常虚拟的是方法,但其实除了字段不能是虚拟的,属性、事件和索引器都可以是虚拟的。

    尽管方法可以是虚拟的,但虚方法还是有方法体的,可以实际做些事情。

    然后,子类可以选择使用 override 关键字,将父类实现替换为它自己的实现,这就是方法重写。

 

posted on 2018-02-25 13:33  遇见未来  阅读(158)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3