定义接口Ishape,其中有一个求面积的抽象方法: double GetArea(); 接下来分别定义矩形类、三角形类、圆形类,并分别实现接口 中的抽象方法GetArea()
时间: 2024-11-05 10:25:47 浏览: 18
在面向对象编程中,接口是一种契约,它定义了一组方法签名,但并不提供具体的实现。为了创建一个关于形状的接口`Ishape`并定义求面积的方法`GetArea()`,你可以这样做:
```java
// Ishape接口定义
public interface IShape {
double GetArea(); // 抽象方法,声明求面积的功能
}
// 矩形类实现Ishape接口
public class Rectangle implements IShape {
private double width;
private double height;
public Rectangle(double width, double height) {
this.width = width;
this.height = height;
}
@Override
public double GetArea() {
return width * height;
}
}
// 三角形类实现Ishape接口
public class Triangle implements IShape {
private double base;
private double height;
public Triangle(double base, double height) {
this.base = base;
this.height = height;
}
@Override
public double GetArea() {
return 0.5 * base * height; // Heron's formula 可能用于计算更复杂的三角形面积
}
}
// 圆形类实现Ishape接口
public class Circle implements IShape {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
@Override
public double GetArea() {
return Math.PI * radius * radius; // 使用圆周率π来计算面积
}
}
```
在这个例子中,每个形状类(如矩形、三角形和圆形)都实现了`IShape`接口,提供了它们各自特有的`GetArea()`实现。这使得可以根据接口调用通用的方法,而不需要关心实际操作的是哪种具体形状。
阅读全文