java设计图形shape类及其子类Circle和Rectangle
时间: 2024-03-15 20:47:40 浏览: 128
编写一个抽象类Shape
4星 · 用户满意度95%
好的,我理解了您的要求。下面是 Java 中的 Shape 类及其子类 Circle 和 Rectangle 的设计示例:
```java
/* Shape 类 */
public abstract class Shape {
protected int x;
protected int y;
public Shape(int x, int y) {
this.x = x;
this.y = y;
}
public abstract double area();
}
/* Circle 类 */
public class Circle extends Shape {
private int radius;
public Circle(int x, int y, int radius) {
super(x, y);
this.radius = radius;
}
@Override
public double area() {
return Math.PI * radius * radius;
}
}
/* Rectangle 类 */
public class Rectangle extends Shape {
private int width;
private int height;
public Rectangle(int x, int y, int width, int height) {
super(x, y);
this.width = width;
this.height = height;
}
@Override
public double area() {
return width * height;
}
}
```
在这个示例中,Shape 类是一个抽象类,它有两个属性 x 和 y,表示图形的位置。它还有一个抽象方法 area(),表示计算图形的面积。
Circle 类继承自 Shape 类,它有一个额外的属性 radius,表示圆的半径。Circle 类实现了 Shape 类的 area() 方法,用于计算圆的面积。
Rectangle 类也继承自 Shape 类,它有两个额外的属性 width 和 height,表示矩形的宽和高。Rectangle 类同样实现了 Shape 类的 area() 方法,用于计算矩形的面积。
阅读全文