Java 图形接口与实现类:长方形、正方形、圆形
Java 图形接口与实现类:长方形、正方形、圆形
本教程演示了如何使用 Java 接口和实现类来计算不同图形的周长,包括长方形、正方形和圆形。
代码示例:
// 图形接口
public interface Shape {
double length();
}
// 长方形类
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 length() {
return 2 * (length + width);
}
}
// 正方形类
public class Square implements Shape {
private double x;
public Square(double x) {
this.x = x;
}
@Override
public double length() {
return 4 * x;
}
}
// 圆形类
public class Circle implements Shape {
private double r;
public Circle(double r) {
this.r = r;
}
@Override
public double length() {
return 2 * Math.PI * r;
}
}
// 测试类
public class ShapeTest {
public static void main(String[] args) {
// 创建长方形对象
Rectangle rectangle = new Rectangle(4, 5);
// 创建正方形对象
Square square = new Square(5);
// 创建圆形对象
Circle circle = new Circle(3);
// 调用shapeLength方法求周长
shapeLength(rectangle);
shapeLength(square);
shapeLength(circle);
// 使用匿名内部类计算边长为5的正六边形周长
shapeLength(new Shape() {
@Override
public double length() {
return 6 * 5;
}
});
}
public static void shapeLength(Shape shape) {
System.out.println('周长:' + shape.length());
}
}
代码说明:
- 图形接口 (Shape):定义了所有图形必须实现的
length()方法,用于计算周长。 - 长方形类 (Rectangle):实现了
Shape接口,定义了length和width属性,以及构造方法和length()方法。 - 正方形类 (Square):实现了
Shape接口,定义了x属性,以及构造方法和length()方法。 - 圆形类 (Circle):实现了
Shape接口,定义了r属性,以及构造方法和length()方法。 - 测试类 (ShapeTest):创建了不同图形的对象,并调用
shapeLength()方法计算周长。 - shapeLength() 方法: 接收任意类型的图形对象,并调用其
length()方法计算周长。 - 匿名内部类: 使用匿名内部类创建了一个实现
Shape接口的对象,用于计算边长为 5 的正六边形的周长。
代码优势:
- 代码结构清晰,易于维护和扩展。
- 接口定义了规范,方便不同图形类实现。
- 测试类验证了功能,保证代码正确性。
- 匿名内部类方便灵活地创建自定义图形对象。
通过本教程,您学习了如何使用 Java 接口和实现类来计算不同图形的周长,并了解了匿名内部类的应用场景。这将帮助您在未来的编程中更好地理解面向对象编程的思想和方法。
原文地址: https://www.cveoy.top/t/topic/ccKQ 著作权归作者所有。请勿转载和采集!