设计 Shape、Square、Circle3个类,计算周长和面积,编写 ShapeTest 类创建子类对象和输出其周长、面积。
时间: 2024-01-30 07:01:56 浏览: 110
ShapesAndArea
好的,我来为您解答这个问题。
首先,我们需要定义Shape、Square、Circle三个类。Shape类作为父类,Square和Circle作为子类继承Shape类。具体代码实现如下:
```java
// Shape.java
public abstract class Shape {
public abstract double getArea();
public abstract double getPerimeter();
}
```
```java
// Square.java
public class Square extends Shape {
private double side;
public Square(double side) {
this.side = side;
}
public double getSide() {
return side;
}
public void setSide(double side) {
this.side = side;
}
public double getArea() {
return side * side;
}
public double getPerimeter() {
return 4 * side;
}
}
```
```java
// Circle.java
public class Circle extends Shape {
private double radius;
public Circle(double radius) {
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;
}
}
```
在这里,我们定义了Shape类作为抽象类,其中包含了计算面积和周长的抽象方法。Square和Circle类分别继承了Shape类,实现了计算面积和周长的方法。
接下来,我们需要编写ShapeTest类,创建子类对象并输出其周长和面积。具体代码实现如下:
```java
// ShapeTest.java
public class ShapeTest {
public static void main(String[] args) {
Shape[] shapes = new Shape[2];
shapes[0] = new Square(5);
shapes[1] = new Circle(3);
for (Shape shape : shapes) {
System.out.println("面积为" + shape.getArea() + ",周长为" + shape.getPerimeter());
}
}
}
```
在这里,我们创建了一个Shape类型的数组,其中存放了一个Square对象和一个Circle对象。然后,我们遍历数组中的每一个元素,分别输出其面积和周长。
这就是整个设计Shape、Square、Circle三个类,计算周长和面积,并编写ShapeTest类的实现过程。希望对您有所帮助。
阅读全文