定义一个抽象类Shape,它包含一个抽象方法getArea(),从Shape类派生出Rectangle和Circle类,这两个类都用getArea()方法计算对象的面积。编写应用程序使用Rectangle和Circle类。 实验要求:定义Rectangle和Circle类的构造方法,初始化成员变量。设计一个继承自抽象类Shape的新的Triangle类,并编写一个测试程序,提示用户输入三角形的三条边、一种颜色以及一个表明该三角形是否填充的布尔值。程序应该根据用户的输入,使用这些边以及颜色和是否填充的信息,创建一个Triangle对象。程序应该显示面积、周长、颜色以及真或者假来表明是否被填充。
时间: 2023-02-09 13:42:14 浏览: 315
在 Java 中,可以使用以下代码来定义一个抽象类Shape,包含一个抽象方法getArea():
```
public abstract class Shape {
// 抽象方法
public abstract double getArea();
}
```
然后,可以从Shape类派生出Rectangle和Circle类,并使用getArea()方法计算对象的面积:
```
public class Rectangle extends Shape {
// 成员变量
private double length;
private double width;
// 构造方法
public Rectangle(double length, double width) {
this.length = length;
this.width = width;
}
// 重写抽象方法
@Override
public double getArea() {
return length * width;
}
}
public class Circle extends Shape {
// 成员变量
private double radius;
// 构造方法
public Circle(double radius) {
this.radius = radius;
}
// 重写抽象方法
@Override
public double getArea() {
return Math.PI * radius * radius;
}
}
```
最后,可以编写一个继承自抽象类Shape的新的Triangle类,并编写一个测试程序:
```
public class Triangle extends Shape {
// 成员变量
private double side1;
private double side2;
private double side3;
private String color;
private boolean filled;
// 构造方法
public Triangle(double side1, double side2, double side3, String color, boolean filled) {
this.side1 = side1;
this.side2 = side2;
this.side3 = side3;
this.color = color;
this.filled = filled;
}
// 计算海伦公式计算三角形面积
@Override
public double getArea() {
double s = (side1 + side2 + side3) / 2;
return Math.sqrt(s * (s - side1) * (s - side2) * (s - side3));
}
// 计算周长
public double getPerimeter() {
return side1 + side2 + side3;
}
// 获取颜色
public String getColor()
阅读全文