// 在坐标系上的圆
public class Circle
{
// 圆心
Point p;
// 半径
double r;
// 可以设置圆心和半径的getter、setter方法
public Circle(Point p, double r)
{
this.p=p;
this.r=r;
}
// 求圆面积
public double getArea()
{
return 3.14 * r * r;
}
// TODO:思考如何实现移动、按x轴翻转、按y轴翻转等方法
}
思考如何实现移动、按x轴翻转、按y轴翻转等方法
Point 圆心的坐标变了而已,定义方法通过移动,修改圆心对应的轴坐标。
移动就是改变圆心的位置,绕x轴翻转就是改变圆心点 y 的正负(取反),绕 y轴翻转就是改变圆心点x的正负(取反)。
代码如下:
public class Circle {
// 圆心
Point p;
// 半径
double r;
// 可以设置圆心和半径的getter、setter方法
public Circle(Point p, double r)
{
this.p=p;
this.r=r;
}
// 求圆面积
public double getArea()
{
return 3.14 * r * r;
}
// 移动 x方向移动x距离,y方向移动y距离
public void move(int x,int y){
p.x = p.x + x;
p.y = p.y + y;
}
// 绕x轴翻转
public void roateByx(){
p.y = -p.y;
}
// 绕y轴翻转
public void roateByy(){
p.x = -p.x;
}
}