淮海工学院计算机工程学院
实验报告书
课程名: 面向对象程序设计
题 目: 实验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()
《 面向对象程序设计 》实验报告
{
double p=this.getCircumference()/2;
area=Math.sqrt(p*(p-sidea)*p*(p-sideb)*(p-sidec)); } }
public class testExample3_1 {
public static void main(String args[]) {
System.out.println(\例3-1 操作情况如下:\
Circle c= new Circle(5); c.setCircumference(); c.setArea();
- 3 -
System.out.println(\圆: Circle(5),周长=\面积=\Rectangle r= new Rectangle(5,4);
r.setCircumference(); r.setArea();
+r.getCircumference()+\面积=\
System.out.println(\矩形: rectangle(5, 4), 周长=\
Triangle t= new Triangle(8,10,5); t.setCircumference(); t.setArea();
System.out.println(\三角形: Triangle(8, 10,5),周长=\面积=\}
}
实验2源程序:
import java.util.*;
public class BookManageLast{ LinkedList
booklist=new LinkedList
public void addBook(String isbn,String bname,String bauthor,double bprice,String bpublisher,String bno){ }
public void searchBook(String bookName){
int findflag=0; it=booklist.iterator(); while(it.hasNext()){
b=it.next();
if(b.getBookName().equals(bookName)){
System.out.println(\找到:\
b=new RBook(isbn,bname,bauthor,bprice,bpublisher,bno); booklist.add(b);
相关推荐: