1. Circle2D类概述
在面向对象编程中,Circle2D类是一个用于表示二维平面上圆形对象的经典案例。这个类不仅包含了圆的基本属性(如圆心坐标和半径),还封装了各种与圆相关的操作方法。通过实现这个类,我们可以深入理解面向对象编程的核心概念——封装、继承和多态。
我最早接触Circle2D类是在大学的数据结构课程中,当时用它来演示如何设计一个完整的类结构。后来在实际工作中发现,这种基础的几何类在图形处理、游戏开发、CAD系统等领域都有广泛应用。一个设计良好的Circle2D类可以成为更复杂图形系统的基础构建块。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. Circle2D类的设计与实现
2.1 类的基本结构
一个完整的Circle2D类通常包含以下核心组成部分:
java复制public class Circle2D {
// 私有字段
private double x; // 圆心x坐标
private double y; // 圆心y坐标
private double radius; // 圆半径
// 构造方法
public Circle2D() {
this(0, 0, 1); // 默认圆心在原点,半径为1
}
public Circle2D(double x, double y, double radius) {
this.x = x;
this.y = y;
this.radius = radius;
}
// 访问器方法
public double getX() { return x; }
public double getY() { return y; }
public double getRadius() { return radius; }
// 其他方法...
}
注意:在实际项目中,建议对半径进行非负校验,在构造方法和setter方法中添加参数验证逻辑。
2.2 核心方法实现
2.2.1 计算面积和周长
这两个是最基础的计算方法,直接应用圆的几何公式:
java复制public double getArea() {
return Math.PI * radius * radius;
}
public double getPerimeter() {
return 2 * Math.PI * radius;
}
2.2.2 点与圆的位置关系
判断一个点是否在圆内、圆上或圆外:
java复制public boolean contains(double x, double y) {
double dx = x - this.x;
double dy = y - this.y;
double distanceSquared = dx * dx + dy * dy;
return distanceSquared <= radius * radius;
}
public boolean onBoundary(double x, double y) {
double
