• 多态


    多态前提需要 方法的重写

    一个对象的类型只有一种, 但是引用对象类型却可以有很多种可能. // Person p = new Student();  // p = new Teacher(); ...等等

    星星你个大星星: 多态指的是方法的多态,属性没有多态.

    多态是基于父子关系来实现的

     多态需要 父类引用指向子类对象  // Father father = new Son();

    final,static,private修饰的方法 不能被重写, 所以也就没有多态性可言

    多态 基于 继承 关系,且要有 子类重写父类的方法

    多态 调用的的具体的方法  要看 赋值号 右边new 出来的对象类型

    多态  调用方法  方法的传参  灵活,方便..

    //高(编译时期)   低(运行时期)

    Person p = new Student();

    我们用p.某某方法  只能调用Person有的方法 因为这是在编译时期.

    我们 p.某某方法后,如果运行时期的类型(也就是new Student()这个类型) 如果重写了Person 的方法 ,就会调用运行时期的方法 这也就是多态

    Person p = new Student();//这行代码只能调用父类有的方法, 而不能调用到子类自己独有的方法 ,所以需要类型转型

     Student student = (Student)p; //现在就可以调用Student特有的方法了  这里是  高 转 低  而且要有 父子关系 并且 要父类引用指向子类的对象.

    //这样低转高后,会导致子类特有的方法丢失,从而无法调用.

    低 转 高 就直接 把  new Student()这个对象; 赋值给 Person p;即可.  //Person p = new Student();

  • 相关阅读:
    C# 读取sqlite文件
    MongoDB聚合管道
    提取Word里的文本内容 C#
    Two Sum【LeetCode】
    Could not create SSL/TLS secure channel.
    处理Task引发的异常
    https请求抛出异常
    hexo+github page +markdown问题汇总
    通过自定义比较器排序(C#版)
    GridView固定行宽,自动换行,鼠标放在Table的Tr上变色
  • 原文地址:https://www.cnblogs.com/shenyueshuo/p/12960602.html
Copyright © 2020-2023  润新知