java自定义图形的面积和周长。首先定义一个抽象类shape,该类中包含两个抽象方法
时间: 2024-03-21 17:37:45 浏览: 121
好的,您的问题是如何定义一个抽象类shape,并在其中包含计算面积和周长的两个抽象方法。
首先,我们需要定义一个抽象类shape,该类中包含两个抽象方法:
```java
abstract class Shape {
abstract double getArea(); // 计算面积的抽象方法
abstract double getPerimeter(); // 计算周长的抽象方法
}
```
在上面的代码中,我们定义了一个抽象类Shape,并在其中声明了两个抽象方法getArea()和getPerimeter(),这两个方法用于计算图形的面积和周长。
接下来,我们可以定义具体的图形类,比如矩形类和圆形类,这些类都是Shape类的子类,需要实现Shape类中的两个抽象方法。
```java
class Rectangle extends Shape {
double width;
double height;
Rectangle(double width, double height) {
this.width = width;
this.height = height;
}
double getArea() {
return width * height;
}
double getPerimeter() {
return 2 * (width + height);
}
}
class Circle extends Shape {
double radius;
Circle(double radius) {
this.radius = radius;
}
double getArea() {
return Math.PI * radius * radius;
}
double getPerimeter() {
return 2 * Math.PI * radius;
}
}
```
在上面的代码中,我们定义了Rectangle类和Circle类,这两个类都继承自Shape类,并覆盖了Shape类中的两个抽象方法getArea()和getPerimeter(),实现了具体的计算面积和周长的逻辑。
现在我们可以使用这些类来计算图形的面积和周长:
```java
Rectangle rectangle = new Rectangle(10, 20);
System.out.println("矩形的面积是:" + rectangle.getArea());
System.out.println("矩形的周长是:" + rectangle.getPerimeter());
Circle circle = new Circle(5);
System.out.println("圆形的面积是:" + circle.getArea());
System.out.println("圆形的周长是:" + circle.getPerimeter());
```
输出结果:
```
矩形的面积是:200.0
矩形的周长是:60.0
圆形的面积是:78.53981633974483
圆形的周长是:31.41592653589793
```
阅读全文