Thinking in Java第四版1.7 伴随多态的可互换对象

文章目录

  • 前言
  • 一、伴随多态的可互换对象
  • 二、案例
    • 1.流程图
    • 2.代码部分
    • 3.执行结果
  • 总结


前言

本书以JDK5.0为基础,记录学习java使用多态的过程。


一、伴随多态的可互换对象

面向对象程序设计语言使用了后期绑定的概念。当向对象发送消息时,被调用的代码知道运行时才能确定。编译器确保被调用方法的存在,并对调用参数和返回值执行类型检查(无法提供此类保证的语言被称为是弱类型的),但是并不知道将被执行的确切代码。

二、案例

1.流程图

Thinking in Java第四版1.7 伴随多态的可互换对象_第1张图片

2.代码部分

代码如下(示例):

package thinkinginjava.polymorphic;

/**
 * Create by zjg on 2023/6/19
 */
public class Shape {
    public void erase(){
        System.out.println(this.getClass()+".erase()");
    }
    public void draw(){
        System.out.println(this.getClass()+".draw()");
    }
}


package thinkinginjava.polymorphic;

/**
 * Create by zjg on 2023/6/19
 */
public class Circle extends Shape{
}

package thinkinginjava.polymorphic;

/**
 * Create by zjg on 2023/6/19
 */
public class Line extends Shape{
}

package thinkinginjava.polymorphic;

/**
 * Create by zjg on 2023/6/19
 */
public class Triangle extends Shape{
}

测试类

package thinkinginjava.polymorphic;

/**
 * 1.7 伴随多态的可互换对象
 * Create by zjg on 2023/6/19
 */
public class Polymorphic {
    public static void main(String[] args) {
        Circle circle=new Circle();
        Triangle triangle=new Triangle();
        Line line=new Line();
        doSomething(circle);
        doSomething(triangle);
        doSomething(line);
    }
    public static void doSomething(Shape shape){
        shape.erase();
        shape.draw();
    }
}

3.执行结果

Thinking in Java第四版1.7 伴随多态的可互换对象_第2张图片

总结

回到顶部
官方网站
案例代码 代码是在github上,多刷几次应该就能出来

你可能感兴趣的:(java,thinking,in,java,java,开发语言,算法)