zoukankan      html  css  js  c++  java
  • 初识继承和多态

    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()函数,对象创建完毕

  • 相关阅读:
    MVC3、如何应用EntityFramework 连接MySql 数据库 Kevin
    DEV EXPRESS Summary Footer 不显示 Kevin
    装饰模式 Kevin
    Dev 控件 GridControl 控件 二次绑定数据源的问题。 Kevin
    System.InvalidOperationException 异常 Kevin
    LINQ to XML Kevin
    代理模式——代码版“吊丝的故事” Kevin
    VS2012 中的设备 面板 Kevin
    maven 学习笔记(三)创建一个较复杂的 eclipse+android+maven 工程
    maven 学习笔记(一)eclipse+android+maven
  • 原文地址:https://www.cnblogs.com/GIRLANDBOYS/p/7091196.html
Copyright © 2011-2022 走看看