第一题
【三角形类Triangle】设计一个名为Triangle的类来扩展GeometricObject类。该类包括:
- (1)三个名为side1、side2和side3的double数据域表示这个三角形的三条边,它们的默认值是1.0。
- (2)一个无参构造方法创建默认的三角形。
- (3)一个能创建带指定side1、side2和side3的三角形的构造方法。
- (4)所有三个数据域的访问器方法。
- (5)一个名为getArea()的方法返回这个三角形的面积。计算三角形面积的公式参见实验1练习题2.19。
- (6)一个名为getPerimeter()的方法返回这个三角形的周长。
- (7)一个名为toString()的方法返回这个三角形的字符串描述,显示三角形的三边长、周长及面积。
目标输出任务:
- 画出Triangle类和GeometricObject类的UML图。
- 实现这些类。
- 编写一个测试程序,创建边长为1、1.5和1,颜色为yellow,filled为true的Triangle对象,然后显示它的三边长、周长、面积、颜色以及是否被填充。
(1)UML图:
(2)运行结果
测试1.无参构造函数构造的三角形:
测试2.有参构造函数构造的三角形:
(3)结果分析
测试1调用无参构造函数创建的对象,所有数据都是默认值
测试2调用了有参构造函数和set函数给对象一些属性赋值
(4)心得体会
根据题目要求来,难度不大
(5)源代码
GeometricObeject类:
package 实验4;
public class GeometricObject {
private String color = "white";
private boolean filled;
private java.util.Date dateCreated;
/** Construct a default geometric object */
public GeometricObject(){
dateCreated = new java.util.Date();
}
/** Construct a geometric object with the specified color
and filled value */
public GeometricObject(String color, boolean filled){
dateCreated = new java.util.Date() ;
this.color = color;
this.filled = filled;
}
/** Return color */
public String getColor(){
return color;
}
/** Set a new color */
public void setColor(String color){
this.color = color;
}
/** Return filled. Since filled is boolean,
* its getter method is named isFilled */
public boolean isFilled(){
return filled;
}
/** Set a new filled */
public void setFilled(boolean filled){
this.filled=filled;
}
/** Get dateCreated */
public java.util.Date getDateCreated(){
return dateCreated;
}
/** Return a string representation of this object */
public String toString(){
return "created on " + dateCreated + "\ncolor: " + color +"and filled:"+ filled;