) 定义一个矩形类Rectangle, 继承于Graph类, 包含起始点startPoint(Point类型), 宽width, 高height属性, 实现父类中的 area 和 perimeter 方法, 并提供一个获取矩形中心点的方法public Point center();提供一个判断当前矩形是否和另外一个矩形相交的方法public boolean isIntersect(Rectangle rect)
时间: 2023-06-03 15:03:42 浏览: 83
这是一个计算机编程问题,属于技术类问题,我可以为您解答。
下面是实现矩形类Rectangle的代码示例:
```
import java.awt.*;
public class Rectangle extends Graph {
private Point startPoint;
private int width;
private int height;
public Rectangle(Point startPoint, int width, int height) {
this.startPoint = startPoint;
this.width = width;
this.height = height;
}
@Override
public double area() {
return width * height;
}
@Override
public double perimeter() {
return 2 * (width + height);
}
public Point center() {
double centerX = startPoint.getX() + width / 2.0;
double centerY = startPoint.getY() + height / 2.0;
return new Point((int) centerX, (int) centerY);
}
public boolean isIntersect(Rectangle rect) {
Point thisCenter = this.center();
Point rectCenter = rect.center();
double distanceX = Math.abs(thisCenter.getX() - rectCenter.getX());
double distanceY = Math.abs(thisCenter.getY() - rectCenter.getY());
double minDistanceX = this.width / 2.0 + rect.width / 2.0;
double minDistanceY = this.height / 2.0 + rect.height / 2.0;
return distanceX <= minDistanceX && distanceY <= minDistanceY;
}
}
```
其中,Graph类是矩形类的父类,area和perimeter方法是Graph类中定义的计算图形面积和周长的抽象方法,需要在子类中实现。center方法是用于获取矩形中心点的方法,isIntersect方法是用于判断当前矩形是否和另外一个矩形相交的方法。
关于继承和多态的知识点,您可以在相关的计算机编程书籍和网站上进行学习和了解。