一、实验目的
1.设计类,并画出UML类图
2.实现UML中的类
3.使用类开发应用程序
二、实验内容
1、(P305, 9.1)【矩形类Rectangle】遵照9.2节中Circle类的例子,设计一个名为Rectangle的类表示矩形。这个类包括:
两个名为width和height的double型数据域,它们分别表示矩形的宽和高。width和height的默认值都为1。
创建默认矩形的无参构造方法。
创建width和height为指定值的矩形的构造方法。
一个名为getArea()的方法返回这个矩形的面积。
一个名为getPerimeter()的方法返回矩形周长。
画出该类的UML图并实现这个类。编写一个测试程序,创建两个Rectangle对象:一个矩形的宽为4高为40,另一个矩形的宽为3.5高为35.9。依次显示每个矩形的宽、高、面积和周长。
Rectangle
Width:double
Height:double
+Rectangle()
+Rectangle(width:double ,height:double )
+getArea():double
+getPermeter():double
实验报告:
(1).实验结果与分析:
UML图:
实验结构截图:
结果分析:依次显示每个矩形的宽、高、面积和周长
(2).心得体会:
通过这次实验,让我对类的运用的更加的熟练
(3).源代码:
public class Shiyan_1 {
public static void main (String [] args) {
Rectangle rectangle1 = new Rectangle(4,40);
Rectangle rectangle2 = new Rectangle(3.5,35.9);
System.out.println(rectangle1.width+" "+rectangle1.height+" "+rectangle1.getArea()+" "+rectangle1.getPermeter());
System.out.println(rectangle2.width+" "+rectangle2.height+" "+rectangle2.getArea()+" "+rectangle2.getPermeter());
}
}
class Rectangle{
double width = 1;
double height = 1;
Rectangle(){
}
Rectangle(double width,double height){
this.height = height;
this.width = width;
}
double getArea() {
return width*height;
}
double getPermeter() {
return 2*(width+height);
}
}
- (P307, 9.8)【风扇类Fan】设计一个名为Fan的类表示一个风扇。这个类包括:
三个名为SLOW、MEDIUM和FAST而值为1、2、3的常量表示风扇的速度。
一个名为speed的int类型私有数据域表示风扇的速度(默认值为SLOW)。
一个名为on的boolean类型私有数据域表示风扇是否打开(默认值为false)。
一个名为radius的double类型私有数据域表示风扇的半径(默认值为5)。
一个名为color的String类型私有数据域表示风扇的颜色(默认值为blue)。
这四个数据域的访问器和修改器。
一个创建默认风扇的无参构造方法。
一个名为toString()的方法返回描述风扇的字符串。如果风扇是打开的,那么该方法在一个组合的字符串中返回风扇的速度、颜色和半径。如果风扇没有打开,该方法返回一个由“fan is off”和风扇颜色、半径组成的字符串。
画出该类的UML图。实现这个类。编写一个测试程序,创建两个Fan对象。将第一个对象设置为最大速度、半径为10、颜色为yellow、状态为打开。将第二个对象设置为中等速度、半径为5、颜色为blue、状态为关闭。通过调用它们的toString方法显示这些对象。
实验报告:
(1).实验结果与分析:
UML图:
实验结果截图:
结果分析: