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

1.继承:一个类可以使用另一个类的属性和方法(成员)
  1.1 子类继承父类使用的符号是冒号
  1.2 子类不能继承父类的构造函数
2.我们new子类构造的时候,到底发生了什么?
  2.1 调用子类构造的时候,没有使用base关键字调用父类的指定的构造,默认调用父类的无参构造
3.base关键字
  3.1 base.父类属性
  3.2 base.父类方法
    3.3 总结:base.父类成员
  3.4 base():父类的构造
  3.5 结论:base(参数1,参数2)顺序是根据父类构造的参数顺序保持一致,但是变量名是和子类构造的参数变量名一致.
4.访问修饰符
                         当前类    子类    其他类
  4.1 private         √            ×        ×
  4.2 protected     √            √        ×
  4.3 public           √            √        √
5.继承的两大特性
  5.1 单根性:一个类只能有一个直接父类
  5.2 传递性:A是B的父亲,B是C的父亲,C和A是什么关系?(A是爷爷,C是孙子) C仍然可以继承A的东西
6.父类变量指向子类对象
  Traffic car=new Car();
  car.Run();  //父类的Run方法
  ((Car)car).Run2();  //子类特有的Run2方法
  反馈给编译器的car就是父类变量,不能使用子类的方法
7.多态初步(子类override  父类virtual)
  7.1 多态的概念:不同的对象对于同一个操作,做出的响应不同,就是多态.
  7.2 多态的目的:多态的目的就是为了统一调用
8.继承当中子类构造的执行过程
  8.1 从Main函数跳转到子类构造,但是不进入方法体,无论有没有base(),都会找父类构造
  8.2 跳转到父类的构造,执行构造体
  8.3 跳回子类构造体,执行方法体
  8.4 跳回到Main()函数,对象创建完毕

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