已知类point表示平面上的“点”。请以此类为父类定义一个名为“Line”的子类,他表示一条有两个端点的直线。只主要成员包括:
数据成员:两个端点的坐标(x ,y)直线的宽度w。
方法成员:move()移动直线,参数:两个端点的坐标:print()现实数据成员。
------解决方案--------------------
import java.Math.*;
public class Line extends Point{
Point point1;
Point point2;
int w;
public void move(){
w=Math.sqrt((point1.x-point2.x)^2+(point1.y-point2.y)^2)
}
}
------解决方案--------------------
3楼的代码能运行?自身包含自身,很明显的死循环。
这个题有两种设计思路(本人推荐第二种):
1. Line继承自Point:
2. Line组合Point:
------解决方案--------------------
3楼的代码能运行?自身包含自身,很明显的死循环。
这个题有两种设计思路(本人推荐第二种):
1. Line继承自Point:
- Java code
//Point.javapublic class Point { int x, y; public Point(int x, int y) { this.x = x; this.y = y; }}//Line.javapublic class Line extends Point { int x1, y1, w; public Line(int startX, int startY, int endX, int endY, int width) { super(startX, startY); x1 = endX; y1 = endY; w = width; } public void move(int newStartX, int newStartY, int newEndX, int newEndY) { x = newStartX; y = newStartY; x1 = newEndX; y1 = newEndY; } public void print() { System.out.println("Line: x=" + x + "; y=" + y + "; x1="+ x1 +"; y1=" + y1 + "; w=" + w); }}