java高手进类的继承问题

2024-12-27 13:06:50
推荐回答(4个)
回答1:

哈哈,我来啦!如果有看不懂的给我留言啊!(draw的要求不明白,所以draw方法里面的代码没写,你把要求重新描述一下,我帮你重写一下)
Point2D的代码:

package com.m;
public class Point2D
{
private int x;
private int y;

public Point2D(int x, int y)
{
this.x=x;
this.y=y;
}
public void offset(int a, int b)
{
x=x+a;
y=y+b;
}

public void draw()
{
}

public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
}

Point3D的代码:
package com.n;

import com.m.Point2D;
public class Point3D extends Point2D
{
private int z;

public Point3D(int x, int y, int z)
{
super(x,y);
this.z=z;
}

public Point3D(Point2D p, int z)
{
super(p.getX(), p.getY());
this.z=z;
}

public void offset(int a, int b,int c)
{
super.offset(a, b);
z=z+c;
}

public void draw()
{

}

public int getZ() {
return z;
}

public void setZ(int z) {
this.z = z;
}

public String toString()
{
return "Point3D:[x :"+getX()+" y :"+getY()+" z :"+getZ()+"]";
}
}

TestPoint代码:
import com.m.Point2D;
import com.n.Point3D;

public class TestPoint {

public static void main(String[] args)
{
double result;
int x,y,z;
Point2D p2d1,p2d2;
p2d1=new Point2D(1,2);
p2d2=new Point2D(3,4);
x=p2d1.getX()-p2d2.getX();
y=p2d1.getY()-p2d2.getY();
result=Math.sqrt(x*x+y*y);
System.out.println("p2d1与p2d2之间的距离为"+result);

Point3D p3d1,p3d2;
p3d1=new Point3D(1,2,3);
p3d2=new Point3D(4,5,6);
x=p3d1.getX()-p3d2.getX();
y=p3d1.getY()-p3d2.getY();
z=p3d1.getZ()-p3d2.getZ();
result=Math.sqrt(x*x+y*y+z*z);
System.out.println("p3d1与p3d2之间的距离为"+result);
}

}

回答2:

貌似的确不难。30分足够了,等会有时间了帮你写

回答3:

你这道题分数给的太少了,你多给点分我就帮你哈!

起码100

先给部分代码你

基本框架帮你搭建好了

package com.isoftstone;

/**
* copyright Founder 2010
* @date 2010/05/25 V1.0新规作成
* dateタグの第二行目のコメント
* @author zenghz
* @version V1.0
* @brief 二维空间の定义
* @since 1.0
*/
public class Point2D
{
/**
* 二维空间的X方向坐标
*/
private int x;
/**
* 二维空间的Y方向坐标
*/
private int y;

/**
* 实现Point2D的平移
* @param a
* @param b
* @return
*/
public void offset(int a, int b)
{

}

/**
*对点的画法
*/
public void draw()
{

}

/**
* @return x
*/
public int getX()
{
return x;
}
/**
* @param x セットする x
*/
public void setX(int x)
{
this.x = x;
}
/**
* @return y
*/
public int getY()
{
return y;
}
/**
* @param y セットする y
*/
public void setY(int y)
{
this.y = y;
}

}

package com.isoftstone;

/**
* copyright Founder 2010
* @date 2010/05/25 V1.0新规作成
* @author zenghz
* @version V1.0
* @brief 三维空间の定义
* @since 1.0
*/
public class Point3D extends Point2D
{
/**
* 三维空间的X方向坐标
*/
private int x;
/**
* 三维空间的Y方向坐标
*/
private int y;
/**
* 三维空间的Z方向坐标
*/
private int z;

public Point3D(int x,int y,int z)
{

}

public Point3D(Point2D p,int z)
{

}

public void offset(int a, int b,int c)
{

}

/**
*对点的画法
*/
public void draw()
{

}

/**
* @return x
*/
public int getX()
{
return x;
}
/**
* @param x セットする x
*/
public void setX(int x)
{
this.x = x;
}
/**
* @return y
*/
public int getY()
{
return y;
}
/**
* @param y セットする y
*/
public void setY(int y)
{
this.y = y;
}
/**
* @return z
*/
public int getZ()
{
return z;
}
/**
* @param z セットする z
*/
public void setZ(int z)
{
this.z = z;
}

}

回答4:

好多字,但貌似很简单