实验室:
实验楼三、
四号机房
2014
年
05
月
29
日
学院
计算机与信息学院
专业班级
姓名
成绩
课程
名称
Java
程序设计
实验项目
名
称
实验二
类的封装、继
承、多态
指导
教师
教
师
评
语
教师签名:
年
月
日
一、实验目的
1
.复习、理解
OOP
的三大特征——封装、继承和多态。
2
.学会使用
Java
编写简单的类。理解类的属性和方法。
3
.掌握关键字
private, protected, public
的作用,掌握静态类,内部类的概念。
4
.掌握多态的概念。
二、实验原理
1
.分别编写两个类
Point2D
,
Point3D
来表示二维空间和三维空间的点,使之满
足下列要求:
(
1
)
Point2D
有两个整型成员变量
x, y (
分别为二维空间的
X,Y
方向坐标
)
,
Point2D
的构造方法要实现对其成员变量
x, y
的初始化。
(
2
)
Point2D
有一个
void
型成员方法
offset(int a, int b)
,
它可以实现
Point2D
的平移。
(
3
)
Point3D
是
Point2D
的直接子类,它有有三个整型成员变量
x,y,z (
分别
为三维空间的
X,Y
,Z
方向坐标
)
,
Point3D
有两个构造方法:
Point3D(int
x,int y,int z)
和
Point3D(Point2D p,int z)
,两者均可实现对
Point3D
的成
员变量
x, y,z
的初始化。
(
4
)
Point3D
有一个
void
型成员方法
offset(int a, int b,int c)
,该方法可以实
现
Point3D
的平移。
(
5
)
在
Point3D
中的主函数
main()
中实例化两个
Point2D
的对象
p2d1
,
p2d2
,
打印出它们之间的距离,再实例化两个
Point3D
的对象
p3d1
,
p3d2
,
打印出他们之间的距离。
提示:
java.lang.Math.sqrt()
方法
2
.创建一个数组,
随机生成
Point2D
或者
Point3D
的对象放于其中。
最后依次调
用数组中每个对象的“打印方法”
,显示数组中存储的对象是什么。
提示:
java.lang.Math.random()
方法
或者
java.util.Random
类