zoukankan      html  css  js  c++  java
  • 多态

    1、概念-什么是多态
    对象在不同时刻表现出来的不同状态。

    2、针对引用类型的理解
    编译期间状态和运行期间状态不一样。
    比如:
              Person p = new Person();//第一行
              p = new Man();//第二行
              p = new Woman();//第三行
              p在第一行和第二行的状态是不一样的,在第一行表示人对象,在第二行表示学生对象

    3、举例
             水(水,冰,水蒸气)
             狗:狗是狗,狗是动物,狗是宠物,狗是食物//该处强调谁是谁的一种

    4、前提条件
           A:要有继承关系或实现关系
           B:要有方法重写或实现关系
           C:要有父类引用指向子类对象,或父接口引用指向子类对象

    5、多态的成员特点
         1、成员变量
              编译看左边,运行看左边。//就是因为变量不存在重写
              Fu fu  = new Zi();
              System.out.println(fu.name);//调用的是父类的name属性
         2、非静态成员方法 
              编译看左边,运行看右边。//因为方法存在重写
              Fu fu = new Zi();
              fu.show();//调用的是子类的show()
         
         3、产生以上现象的原因
              因为方法有重写,变量没有

    6、多态的弊端
         父类引用不能直接使用子类对象的特有功能。
         
         如何解决这个问题?
              答:向下转型 (就是强转)
                   格式:(子类)父类

    4、多态的好处
         增强了程序的扩展性和可维护性。

  • 相关阅读:
    tfboys——tensorflow模块学习(二)
    瑞丽熵(renyi entropy)
    ELBO 与 KL散度
    tfboys——tensorflow模块学习(一)
    tf.InteractiveSession()与tf.Session()
    论-多租户技术
    商业级项目——基金客户端的架构设计与开发(下)(附源码)
    商业级项目——基金客户端的架构设计与开发(上)
    猜拳游戏案例
    动态数组的实现案例
  • 原文地址:https://www.cnblogs.com/argenbarbie/p/5904309.html
Copyright © 2011-2022 走看看