当前位置: 代码迷 >> J2SE >> 怎么定义类
  详细解决方案

怎么定义类

热度:67   发布时间:2016-04-24 13:13:21.0
如何定义类
已知类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);  }}
  相关解决方案