// 定义 Shape 接口interface Shape { // 求面积方法 double getArea(); // 求周长方法 double getPerimeter(); // 显示面积方法 void showArea(); // 显示周长方法 void showPerimeter();}// 定义 Circle 类,实现 Shape 接口class Circle implements Shape { private double radius; // 圆的半径 // 构造函数 public Circle(double r) { radius = r; } // 实现接口中的方法 public double getArea() { return Math.PI * radius * radius; } public double getPerimeter() { return 2 * Math.PI * radius; } public void showArea() { System.out.println("圆的面积为:" + getArea()); } public void showPerimeter() { System.out.println("圆的周长为:" + getPerimeter()); }}// 定义 Rectangle 类,实现 Shape 接口class Rectangle implements Shape { private double width; // 矩形的宽 private double height; // 矩形的高 // 构造函数 public Rectangle(double w, double h) { width = w; height = h; } // 实现接口中的方法 public double getArea() { return width * height; } public double getPerimeter() { return 2 * (width + height); } public void showArea() { System.out.println("矩形的面积为:" + getArea()); } public void showPerimeter() { System.out.println("矩形的周长为:" + getPerimeter()); }}// 主类public class Main { public static void main(String[] args) { Circle circle = new Circle(5.0); circle.showArea(); // 显示圆的面积 circle.showPerimeter(); // 显示圆的周长 Rectangle rectangle = new Rectangle(3.0, 4.0); rectangle.showArea(); // 显示矩形的面积 rectangle.showPerimeter(); // 显示矩形的周长 }}
时间: 2024-04-23 18:23:26 浏览: 188
这段代码定义了一个 Shape 接口,其中包含求面积、求周长、显示面积和显示周长的方法。然后定义了 Circle 和 Rectangle 两个实现了 Shape 接口的类,分别表示圆和矩形。在主类中创建了一个 Circle 对象和一个 Rectangle 对象,并分别调用它们的 showArea 和 showPerimeter 方法显示它们的面积和周长。
相关问题
编程定义一个接口shape,包括求面积getArea()和求周长getPerimeter()方法,然后设计一个Rectangle类,Circle类,实现shape接口中的方法
在编程中,我们可以定义一个接口`Shape`来抽象出形状的一些共通属性和行为。这个接口通常包含一些抽象方法,比如`getArea()`用于计算面积,`getPerimeter()`用于计算周长。以下是简单的示例:
```java
// 定义 Shape 接口
public interface Shape {
double getArea();
double getPerimeter();
}
```
然后我们可以创建两个实现了 `Shape` 接口的具体类,如矩形`Rectangle` 和圆`Circle`:
```java
// 矩形 Rectangle 类
public class Rectangle implements Shape {
private double length;
private double width;
public Rectangle(double length, double width) {
this.length = length;
this.width = width;
}
@Override
public double getArea() {
return length * width;
}
@Override
public double getPerimeter() {
return 2 * (length + width);
}
}
// 圆 Circle 类
public class Circle implements Shape {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
@Override
public double getArea() {
return Math.PI * radius * radius;
}
@Override
public double getPerimeter() {
return 2 * Math.PI * radius;
}
}
```
在这个例子中,`Rectangle` 和 `Circle` 都实现了`Shape`接口,并且各自提供了自己特有的计算面积和周长的方法。
定义一个接口 Shape。接口中有四个抽象方法:求面积方法 getArea()、求周长方法 getPerimeter()、显示面积方法 showArea()及显示周长方法 showPerimeter()。定义 Circle 类和 Rectangle类,使它们都实现接口 Shape。在主类中使用 Circle 类和 Rectangle类,并分别调用上述4种方法
以下是符合要求的Java程序:
```
// 定义Shape接口
interface Shape {
double getArea(); // 求面积方法
double getPerimeter(); // 求周长方法
void showArea(); // 显示面积方法
void showPerimeter(); // 显示周长方法
}
// 定义Circle类,实现Shape接口
class Circle implements Shape {
private double radius; // 圆的半径
public Circle(double radius) {
this.radius = radius;
}
public double getArea() { // 实现求面积方法
return Math.PI * radius * radius;
}
public double getPerimeter() { // 实现求周长方法
return 2 * Math.PI * radius;
}
public void showArea() { // 实现显示面积方法
System.out.println("Circle area: " + getArea());
}
public void showPerimeter() { // 实现显示周长方法
System.out.println("Circle perimeter: " + getPerimeter());
}
}
// 定义Rectangle类,实现Shape接口
class Rectangle implements Shape {
private double width; // 矩形的宽
private double height; // 矩形的高
public Rectangle(double width, double height) {
this.width = width;
this.height = height;
}
public double getArea() { // 实现求面积方法
return width * height;
}
public double getPerimeter() { // 实现求周长方法
return 2 * (width + height);
}
public void showArea() { // 实现显示面积方法
System.out.println("Rectangle area: " + getArea());
}
public void showPerimeter() { // 实现显示周长方法
System.out.println("Rectangle perimeter: " + getPerimeter());
}
}
// 测试程序
public class ShapeTest {
public static void main(String[] args) {
Circle circle = new Circle(5); // 创建圆对象
circle.showArea(); // 显示圆的面积
circle.showPerimeter(); // 显示圆的周长
Rectangle rectangle = new Rectangle(3, 4); // 创建矩形对象
rectangle.showArea(); // 显示矩形的面积
rectangle.showPerimeter(); // 显示矩形的周长
}
}
```
程序输出为:
```
Circle area: 78.53981633974483
Circle perimeter: 31.41592653589793
Rectangle area: 12.0
Rectangle perimeter: 14.0
```
说明程序能够正常运行。其中,Shape接口定义了求面积方法getArea()、求周长方法getPerimeter()、显示面积方法showArea()及显示周长方法showPerimeter(),Circle类和Rectangle类都实现了Shape接口,并实现了接口中的4个方法。在测试程序中,分别创建了Circle和Rectangle对象,并调用了它们的4个方法。
阅读全文