java抽象类计算不同图形的面积和周长
时间: 2024-09-26 07:12:59 浏览: 32
java:接口和抽象类练习
5星 · 资源好评率100%
在Java中,抽象类可以用于创建一个通用的框架,以便处理不同类型的图形,如矩形、圆形等,同时提供基本的操作方法,如计算面积和周长。抽象类通常包含一些抽象方法(无实现的方法),这些方法需要由其子类来实现。
例如,我们可以创建一个名为`Shape`的抽象类:
```java
abstract class Shape {
abstract double getArea(); // 计算面积
abstract double getPerimeter(); // 计算周长
public void display() {
System.out.println("This is an abstract shape.");
}
}
```
然后为每个具体的形状(比如Rectangle和Circle)创建子类,并实现`getArea()`和`getPerimeter()`方法:
```java
class Rectangle extends Shape {
private double length;
private double width;
public Rectangle(double length, double width) {
this.length = length;
this.width = width;
}
@Override
double getArea() {
return length * width;
}
@Override
double getPerimeter() {
return 2 * (length + width);
}
@Override
public void display() {
System.out.println("Rectangle with length " + length + " and width " + width);
}
}
class Circle extends Shape {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
@Override
double getArea() {
return Math.PI * radius * radius;
}
@Override
double getPerimeter() {
return 2 * Math.PI * radius;
}
@Override
public void display() {
System.out.println("Circle with radius " + radius);
}
}
```
在这个例子中,`Rectangle`和`Circle`都是`Shape`的实例,它们各自实现了`Shape`中的抽象方法,可以根据传入的具体类型(通过检查实例的类型)来计算相应的面积和周长。
阅读全文