淮海工学院计算机工程学院
实验报告书
课程名: 面向对象程序设计
题 目: 实验3Java面向对象编程初步(1) 班 级: D计算机131
学 号: 2013132862 姓 名: 徐春盼
评语: 成绩: 指导教师: 批阅时间: 年 月 日 《 面向对象程序设计 》实验报告 - 1 -
一、目的与要求
1.掌握Java面向对象深入编程的知识
学会运用属性的继承和隐藏、方法的继承、重载与覆盖、构造函数的继承与重载等来实现
型、接口的定义、接口的回调及多态编程。
Java的继承与多态的思
想;理解Java的包、接口与异常处理机制,正确运用异常处理、包、接口、内部类、匿名类等知识点,实现对象的上转
二、实验内容或题目
1.根据图3-1所示类图编写对应的图形类,其中,第一层的“图形”为父类,定义为抽象类,其中包含2个保护属性、2个实例方法、2个抽象方法;第二层的3种形状是继承于“图形”的子类,各子类除继承父类的2个属性之外,增加各自不同的属性,各图形类实现求周长、求面积的方法呈多态。
2.在例2-6编写的图书管理类基础上,为图书馆类增加按书名和作者名联合查询的功能 三、实验步骤与源程序
实验1源程序:
import rentbook.DecF; abstract class Shapes { }
class Circle extends Shapes {
int radius; Circle(int r)
static final double pi=3.14; double circumference; double area;
abstract void setCircumference(); abstract void setArea();
public double getCircumference() {
return DecF.DecD(circumference); }
public double getArea() {
return DecF.DecD(area); }
《 面向对象程序设计 》实验报告
}
class Rectangle extends Shapes {
int height; int width;
Rectangle(int h,int w) {
height=h; width=w; } { radius=r; }
public void setCircumference() {
circumference=2*pi*radius; }
public void setArea() {
area=pi*radius*radius; }
- 2 -
public void setCircumference() {
circumference=2*(height+width); }
public void setArea() {
area=height*width; } }
class Triangle extends Shapes {
int sidea; int sideb; int sidec;
Triangle(int a,int b,int c) { sidea=a; sideb=b; sidec=c; }
public void setCircumference() {
circumference=sidea+sideb+sidec; }
public void setArea()