设计一个shape接口和它的两个实现类square和circle
时间: 2023-04-28 13:05:47 浏览: 78
interface Shape {
double getArea();
double getPerimeter();
}
class Square implements Shape {
double sideLength;
Square(double sideLength) {
this.sideLength = sideLength;
}
double getArea() {
return sideLength * sideLength;
}
double getPerimeter() {
return sideLength * 4;
}
}
class Circle implements Shape {
double radius;
Circle(double radius) {
this.radius = radius;
}
double getArea() {
return Math.PI * radius * radius;
}
double getPerimeter() {
return 2 * Math.PI * radius;
}
}
相关问题
c#设计一个shape接口和它的两个实现类square和circle,并进行测试。
题意:设计一个shape接口和它的两个实现类square和circle,并进行测试。
可参考答案:
shape接口声明了计算面积和周长的方法,每个实现类都必须实现这两个方法。square和circle分别实现了这个接口,并重写了接口中的方法。测试时可以创建一个shape类型的数组,依次实例化它的两个实现类,并调用它们的方法进行面积和周长的计算。
代码示例:
```java
public interface shape {
double area();
double perimeter();
}
public class square implements shape {
private double side;
public square(double s) {
side = s;
}
public double area() {
return side * side;
}
public double perimeter() {
return 4 * side;
}
}
public class circle implements shape {
private double radius;
public circle(double r) {
radius = r;
}
public double area() {
return Math.PI * radius * radius;
}
public double perimeter() {
return 2 * Math.PI * radius;
}
}
public class testShape {
public static void main(String[] args) {
shape[] shapes = new shape[2];
shapes[0] = new square(5);
shapes[1] = new circle(3);
for(shape s : shapes) {
System.out.println("area = " + s.area() + ", perimeter = " + s.perimeter());
}
}
}
```
设计一个shape接口和它的两个实现类square和circleshape接口中有一个抽象方法area()
好的,以下是设计的代码:
```java
public interface Shape {
double area();
}
public class Square implements Shape {
private double sideLength;
public Square(double sideLength) {
this.sideLength = sideLength;
}
@Override
public double area() {
return sideLength * sideLength;
}
}
public class Circle implements Shape {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
@Override
public double area() {
return Math.PI * radius * radius;
}
}
```
以上代码中,`Shape` 接口定义了一个抽象方法 `area()`,表示计算形状的面积。`Square` 和 `Circle` 分别实现了 `Shape` 接口,并且实现了 `area()` 方法,分别计算正方形和圆形的面积。