4、编程题 (1)设计一个名为Geometric的几何图形的抽象类,该类包括:两个名为color、filled的属性分别表示图形颜色和是否填充。一个无参的构造方法。 一个能创建指定颜色和填充值的构造方法。 一个名为getArea()的抽象方法,返回图形的面积。 一个名为getPerimeter()的抽象方法,返回图形的周长。一个名为toString()的方法,返回圆的字符串描述。 (2)设计一个名为Circle的圆类来实现Geometric类,该类包括: 1一个名为radius的double属性表示半径。 一个无参构造方法创建圆。 ③一个能创建指定radius的圆的构造方法。 radius的访问器方法。 ⑤一个名为getArea()的方法,返回该圆的面积。 6一个名为getPerimeter()的方法,返回圆的周长。 ⑦一个名为toString()的方法,返回该圆的字符串描述。 (3)设计一个名为Rectangle的矩形类来实现Geometric类,该类包括: 1两个名为sidel、side2的double属性表示矩形的两条边。 2一个无参构造方法创建矩形。 3一个能创建指定sidel和side2的圆的构造方法。 4sidel和side2的访问器方法。 5一个名为getArea()的方法,返回该矩形的面积。 6一个名为getPerimeter()的方法,返回该矩形的周长。 7一个名为toString()的方法,返回该矩形的字符串描述。 4
时间: 2024-03-19 07:45:05 浏览: 180
下面是对应的Java代码:
Geometric.java
```java
public abstract class Geometric {
protected String color;
protected boolean filled;
public Geometric() {}
public Geometric(String color, boolean filled) {
this.color = color;
this.filled = filled;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public boolean isFilled() {
return filled;
}
public void setFilled(boolean filled) {
this.filled = filled;
}
public abstract double getArea();
public abstract double getPerimeter();
public String toString() {
return "Geometric[color=" + color + ", filled=" + filled + "]";
}
}
```
Circle.java
```java
public class Circle extends Geometric {
private double radius;
public Circle() {}
public Circle(double radius) {
this.radius = radius;
}
public Circle(double radius, String color, boolean filled) {
super(color, filled);
this.radius = radius;
}
public double getRadius() {
return radius;
}
public void setRadius(double radius) {
this.radius = radius;
}
public double getArea() {
return Math.PI * radius * radius;
}
public double getPerimeter() {
return 2 * Math.PI * radius;
}
public String toString() {
return "Circle[" + super.toString() + ", radius=" + radius + "]";
}
}
```
Rectangle.java
```java
public class Rectangle extends Geometric {
private double side1;
private double side2;
public Rectangle() {}
public Rectangle(double side1, double side2) {
this.side1 = side1;
this.side2 = side2;
}
public Rectangle(double side1, double side2, String color, boolean filled) {
super(color, filled);
this.side1 = side1;
this.side2 = side2;
}
public double getSide1() {
return side1;
}
public void setSide1(double side1) {
this.side1 = side1;
}
public double getSide2() {
return side2;
}
public void setSide2(double side2) {
this.side2 = side2;
}
public double getArea() {
return side1 * side2;
}
public double getPerimeter() {
return 2 * (side1 + side2);
}
public String toString() {
return "Rectangle[" + super.toString() + ", side1=" + side1 + ", side2=" + side2 + "]";
}
}
```
阅读全文