类 Ellipse

java.lang.Object
com.example.renderer.factory.Ellipse
所有已实现的接口:
Shape

public class Ellipse extends Object implements Shape
椭圆图形实现类。

表示一个由中心坐标(x,y)和宽度(width)、高度(height)定义的椭圆。 实现了Shape接口,支持以下操作:

  • 渲染 - 通过render()方法使用指定渲染器绘制
  • 移动 - 通过move()方法改变位置
  • 访问者模式 - 通过accept()方法支持扩展操作

典型用法:


 Ellipse ellipse = new Ellipse(100, 100, 80, 40);
 ellipse.render(renderer); // 绘制椭圆
 ellipse.move(10, 5); // 移动椭圆
 
从以下版本开始:
2025-06-24
版本:
1.0
作者:
DeepSeek-Coder, Aider+SillconFlow-DeepSeek, Aider+SillconFlow-Deepseek-R1
  • 构造器概要

    构造器
    构造器
    说明
    无参构造器,用于序列化和反射创建实例。
    Ellipse(int x, int y, int width, int height)
    构造指定位置和大小的椭圆
  • 方法概要

    修饰符和类型
    方法
    说明
    void
    接受访问者访问此椭圆对象。
    创建并返回当前椭圆的一个深拷贝
    int
    获取椭圆高度值(像素)。
    int
    获取椭圆宽度值(像素)。
    int
    获取椭圆中心X坐标值(像素)。
    int
    获取椭圆中心Y坐标值(像素)。
    void
    move(int dx, int dy)
    移动椭圆的位置。
    void
    render(Renderer renderer)
    使用指定渲染器绘制椭圆。
    void
    setHeight(int height)
    设置椭圆的新高度值
    void
    setWidth(int width)
    设置椭圆的新宽度值
    void
    setX(int x)
    设置椭圆中心的新X坐标
    void
    setY(int y)
    设置椭圆中心的新Y坐标
     

    从类继承的方法 java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    从接口继承的方法 com.example.renderer.factory.Shape

    validatePosition
  • 构造器详细资料

    • Ellipse

      public Ellipse()
      无参构造器,用于序列化和反射创建实例。 创建后需要通过setter方法设置属性。
      从以下版本开始:
      2025-06-29
    • Ellipse

      public Ellipse(int x, int y, int width, int height)
      构造指定位置和大小的椭圆

      此构造器创建一个中心在(x,y)处,宽度为width,高度为height的椭圆。

      参数:
      x - 椭圆中心的X坐标
      y - 椭圆中心的Y坐标
      width - 椭圆的宽度
      height - 椭圆的高度
      从以下版本开始:
      2025-06-29
  • 方法详细资料

    • render

      public void render(Renderer renderer)
      使用指定渲染器绘制椭圆。

      实现细节:

      • 调用renderer.drawEllipse()方法进行实际绘制
      • 传递椭圆的中心坐标和尺寸参数
      • 不处理渲染器抛出的异常,由调用方处理
      指定者:
      render 在接口中 Shape
      参数:
      renderer - 用于绘制椭圆的渲染器实现(非null)
      抛出:
      NullPointerException - 如果renderer参数为null
      从以下版本开始:
      2025-06-24
      另请参阅:
    • accept

      public void accept(ExportVisitor visitor)
      接受访问者访问此椭圆对象。

      实现访问者模式,将访问请求转发给访问者的visitEllipse方法。

      指定者:
      accept 在接口中 Shape
      参数:
      visitor - 用于处理椭圆的访问者对象(非null)
      抛出:
      NullPointerException - 如果visitor参数为null
      从以下版本开始:
      2025-06-29
    • move

      public void move(int dx, int dy)
      移动椭圆的位置。

      实现细节:

      • 直接修改椭圆的中心坐标
      • 不检查坐标溢出,由调用方确保参数合理
      • 支持负值移动(向左/上移动)
      指定者:
      move 在接口中 Shape
      参数:
      dx - X轴方向的移动距离(像素)
      dy - Y轴方向的移动距离(像素)
      从以下版本开始:
      2025-06-29
      另请参阅:
    • getX

      public int getX()
      获取椭圆中心X坐标值(像素)。
      返回:
      椭圆中心的X坐标值(像素)
      从以下版本开始:
      2025-06-29
    • getY

      public int getY()
      获取椭圆中心Y坐标值(像素)。
      返回:
      椭圆中心的Y坐标值(像素)
      从以下版本开始:
      2025-06-29
    • setX

      public void setX(int x)
      设置椭圆中心的新X坐标
      参数:
      x - 椭圆的新X坐标值
      从以下版本开始:
      2025-06-29
    • setY

      public void setY(int y)
      设置椭圆中心的新Y坐标
      参数:
      y - 椭圆的新Y坐标值
      从以下版本开始:
      2025-06-29
    • getWidth

      public int getWidth()
      获取椭圆宽度值(像素)。

      宽度是椭圆在X轴方向的直径长度。

      返回:
      椭圆的宽度值(像素)
      从以下版本开始:
      2025-06-29
    • setWidth

      public void setWidth(int width)
      设置椭圆的新宽度值
      参数:
      width - 椭圆的新宽度值(像素)
      从以下版本开始:
      2025-06-29
    • getHeight

      public int getHeight()
      获取椭圆高度值(像素)。

      高度是椭圆在Y轴方向的直径长度。

      返回:
      椭圆的高度值(像素)
      从以下版本开始:
      2025-06-29
    • setHeight

      public void setHeight(int height)
      设置椭圆的新高度值
      参数:
      height - 椭圆的新高度值(像素)
      从以下版本开始:
      2025-06-29
    • clone

      public Ellipse clone()
      创建并返回当前椭圆的一个深拷贝

      此方法通过调用Object.clone()实现拷贝, 适用于只包含基本类型字段的对象。

      指定者:
      clone 在接口中 Shape
      覆盖:
      clone 在类中 Object
      返回:
      椭圆的新副本
      从以下版本开始:
      2025-06-24
    • toString

      public String toString()
      覆盖:
      toString 在类中 Object