实验:面向对象编程实验—多态
一、实验目的
1. 掌握多态性的概念
多态是同一个行为具有多个不同表现形式或形态的能力。
多态就是同一个接口,使用不同的实例而执行不同操作。
Java 的多态性体现在两个方面:编译多态和运行多态。
2. 掌握类的多态性的用法
二、预习内容
java 的基本语法知识
三、实验设备与环境
装有 JAVA 语言工具软件 (Eclipse )的微机若干
四、实验内容
建立一个抽象类 Shape,其中包含一个抽象方法 draw();
建立两个子类 J_Circle 和 J_Square,继承 Shape,分别实现 Shape 中的抽象方法 draw()
建立 Test_Shape 类,创建一个 J_Square 类的对象 sqare,再创建一个 Shape 关于 J_Circle
的引用对象 circle;
通过 circle 对象调用方法 draw(),观察如何实现 Shape 类的多态性。
具体实验结果:
实验感受:
使用父类类型的引用指向子类的对象
该引用只能调用父类中定义的方法和变量
如果子类重写了父类的一个方法,调用这个方法时,会调用子类中的方法
变量不能被重写
源代码:
package test;
//建立一个抽象类 Shape,其中包含一个抽象方法 draw();
//建立两个子类 J_Circle 和 J_Square,继承 Shape,分别实现 Shape 中的抽象方法 draw()
//建立 Test_Shape 类,创建一个 J_Square 类的对象 sqare,
//再创建一个 Shape 关于 J_Circle 的引用对象 circle;通过 circle 对象调用方法 draw(),观察如
何实现 Shape 类的多态性。
//抽象类
abstract class Shape {
// 抽象方法 draw()
abstract void draw();
}
class J_Circle extends Shape {
void draw() {
System.out.println("调用 J_Circle 中的 draw 方法");
}
}
class J_Square extends Shape {
void draw() {
System.out.println("调用 J_Square 中的 draw 方法");
}
}
public class Test_Shape {
public static void main(String args[]) {
Shape sqare = new J_Square();
sqare.draw();
Shape circle = new J_Circle();
circle.draw();
}
}