现有一块画布上(Canvas)它有如下功能: 定义addShape(Shape s)在画布上新增并绘制出其形状; 定义removeShape(Shape s)删除画布上已存在的形状 定义clone(

简介: 现有一块画布上(Canvas)它有如下功能: 定义addShape(Shape s)在画布上新增并绘制出其形状; 定义removeShape(Shape s)删除画布上已存在的形状 定义clone(

题目描述:

现有一块画布上(Canvas)它有如下功能:

  • 定义addShape(Shape s)在画布上新增并绘制出其形状;
  • 定义removeShape(Shape s)删除画布上已存在的形状
  • 定义clone(Shape s)克隆一个已存在的形状增加到画布上
  • 定义Shape Max()方法返回画布上面积最大的形状(如果有相等的几个返回第一个)
  • 定义public double getArea()方法求画布上所有形状的面积和
  • 定义printAllShapes()方法打印画布上所有形状信息
  • 每一个形状(Shape)类,都有创建时的日期数据域(createdDate),创建的颜色(color),求面积和绘制图形的方法等等,每一个形状都是能被比较和复制(复制的时候,形状的时间应该是被复制的时间而不是被复制的形状的创建时间)。长方形和圆形是形状类的子类,它们会重写父类求面积和绘制图形的方法。为了程序实现方便,我们这里只定义两种图形。

代码:


目录
相关文章
|
定位技术 API
基于Leaflet.draw的自定义绘制实战
本文介绍了如何基于leaflet.draw进行自定义绘制,同时获取对象的bbox和geojson信息。
763 0
基于Leaflet.draw的自定义绘制实战
|
3月前
|
Web App开发 前端开发
canvas系列教程04 —— 渐变、阴影、路径、状态、Canvas对象、图形重叠模式
canvas系列教程04 —— 渐变、阴影、路径、状态、Canvas对象、图形重叠模式
213 0
|
5月前
|
监控 API 计算机视觉
OpenCV这么简单为啥不学——1.4、基础标识绘制(绘制线line函数、rectangle函数绘制四边形、circle函数绘制圆形、putText函数绘制文字、putText绘制中文文字)
OpenCV这么简单为啥不学——1.4、基础标识绘制(绘制线line函数、rectangle函数绘制四边形、circle函数绘制圆形、putText函数绘制文字、putText绘制中文文字)
55 0
|
5月前
|
前端开发
|
5月前
[Qt5] 矩形、圆和多边形ROI区域的交互(List View列表视图,halcon实现)
[Qt5] 矩形、圆和多边形ROI区域的交互(List View列表视图,halcon实现)
129 0
|
C# 图形学
Winform控件优化之Paint事件实现圆角组件(提取绘制圆角的扩展方法)
Paint事件方法中实现圆角控件不要通过事件参数`e.ClipRectangle`获取控件区域范围,原因见最后介绍;注意设置控件背景透明(参见[Winform控件优化之背景透明那些事2...
795 0
Winform控件优化之Paint事件实现圆角组件(提取绘制圆角的扩展方法)
|
12月前
|
存储 前端开发
canvas自定义绘制顺序解决遮挡问题
canvas自定义绘制顺序解决遮挡问题
205 0
C# GDI+绘图(四)实现网格绘制,并填充相应的表格内容
C# GDI+绘图(四)实现网格绘制,并填充相应的表格内容
定义一个类Rectangle,描述一个矩形,包含有长、宽两种属性(用length和width表示)和计算面积的方法(方面名定义为area)。
定义一个类Rectangle,描述一个矩形,包含有长、宽两种属性(用length和width表示)和计算面积的方法(方面名定义为area)。
778 0
Py之matplotlib:matplotlib绘图中与颜色相关的参数(color颜色参数、linestyle线型参数、marker标记参数)可选列表集合(建议收藏)
Py之matplotlib:matplotlib绘图中与颜色相关的参数(color颜色参数、linestyle线型参数、marker标记参数)可选列表集合(建议收藏)
Py之matplotlib:matplotlib绘图中与颜色相关的参数(color颜色参数、linestyle线型参数、marker标记参数)可选列表集合(建议收藏)