gpt4 book ai didi

java - 保存、获取和设置立方体的长度(扩展类)

转载 作者:行者123 更新时间:2023-12-01 09:03:25 24 4
gpt4 key购买 nike

我已经编写了一个类Geom,它表示三维几何形式,并使用属性double dx、dy、dz(形式的坐标)和String color(表单的颜色)。现在我应该变得更具体,我想编写一个类Cube,它扩展Geom并且进一步与属性边缘长度一起使用,以便计算形状的体积或面积等内容。

为了做到这一点,我需要编写一个方法private double length,它保存边缘的长度。除此之外,我需要实现get-set-methods

实际上这应该很容易,但我不知道我必须在这里做什么。我是这样开始的:

public class Cube extends Geom {

int edge;

public Cube (double dx, double dy, double dz, String colour, double edge) {

super(dx, dy, dz, colour);
edge = ///I don't know what do to here

}

private double length(double edge) {
this.edge = edge;
return this.edge;

}

public double getEdge() {
double a = length();
return a;
}

public void setEdge() {
this.edge = edge
}

...

但这似乎没有多大意义。我收到两个错误,一个告诉我 this.edge = edge 是从 double 到 int 的有损转换,另一个告诉我 double a = width(); 不是这是不可能的,因为 width() 方法无法应用于给定类型。我不太明白首先“保存”长度,然后获取它并最后设置它的意义。

最佳答案

public class Cube extends Geom {

首先应该封装这样的变量并为它们创建 getter 和 setter。

private int edge;

public Cube (double dx, double dy, double dz, String colour, int edge) {

super(dx, dy, dz, colour);

如果您希望能够构造具有给定边缘的 Geom 对象你需要类似的东西,并将参数类型更改为 int

this.edge=edge;

这会将给定参数设置为变量“this”关键字意味着您要调用此类边缘变量,因为参数名称相同。

我不知道你为什么在这里创建方法长度它应该返回什么?据我所知,它返回边缘,那么它就是这样做的 setter/getter 工作。

  }

private double length(double edge) {
this.edge = edge;
return this.edge;

}

当你的边缘变量是 int 时,你希望返回 double,可能需要这个。

  public int getEdge() {
return edge;

  return this.edge;

这一点并不重要

  }

并且 setter 应该采用与变量匹配的值同样,您不一定需要说 this.edge,因为编译器会知道要做什么,因为这是这里唯一的边缘变量。

  public void setEdge(int value) {
this.edge = value;
}

然后你可以在 length 方法中进行计算和填充,并在需要时将其解析为 double,或者如果首先需要 double,只需将边的类型更改为 double

关于java - 保存、获取和设置立方体的长度(扩展类),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41488983/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com