定义接口或类 Shape,定义求周长的方法length()。 定义如下类,实现接口Shape或父类Shape的方法。 (1)三角形类Triangle (2)长方形类Rectangle (3)圆形类Circle等。 定义测试类ShapeTest,用Shape接口(或类)定义变量shape,用其指向不同类形的对象,输出各种图形的周长。并为其他的Shape接口实现类提供良好的扩展性。 提示: 计算圆周长时PI取3.14。
时间: 2024-03-20 14:44:05 浏览: 61
接口的应用Shape类,Rectangle、Triangle、Square
好的,这是一个关于面向对象编程的问题。下面是代码实现:
```java
// Shape接口
public interface Shape {
double length();
}
// 三角形类
public class Triangle implements Shape {
private double a, b, c;
public Triangle(double a, double b, double c) {
this.a = a;
this.b = b;
this.c = c;
}
@Override
public double length() {
return a + b + c;
}
}
// 长方形类
public class Rectangle implements Shape {
private double length, width;
public Rectangle(double length, double width) {
this.length = length;
this.width = width;
}
@Override
public double length() {
return 2 * (length + width);
}
}
// 圆形类
public class Circle implements Shape {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
@Override
public double length() {
return 2 * 3.14 * radius;
}
}
// 测试类
public class ShapeTest {
public static void main(String[] args) {
Shape shape1 = new Triangle(3, 4, 5);
Shape shape2 = new Rectangle(2, 3);
Shape shape3 = new Circle(1);
System.out.println("三角形的周长:" + shape1.length());
System.out.println("长方形的周长:" + shape2.length());
System.out.println("圆形的周长:" + shape3.length());
}
}
```
这个代码实现了一个Shape接口,里面定义了一个求周长的方法length()。Triangle、Rectangle、Circle这三个类分别实现了Shape接口,并重写了length()方法。ShapeTest类中创建了这三个类的对象,并调用它们的length()方法来输出周长。这样,我们就可以通过增加新的实现Shape接口的类来扩展代码。
阅读全文