前言
本书以JDK5.0为基础,记录学习java使用多态的过程。
一、伴随多态的可互换对象
面向对象程序设计语言使用了后期绑定的概念。当向对象发送消息时,被调用的代码知道运行时才能确定。编译器确保被调用方法的存在,并对调用参数和返回值执行类型检查(无法提供此类保证的语言被称为是弱类型的),但是并不知道将被执行的确切代码。
二、案例
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();
}
}