gpt4 book ai didi

java - 继承java,我该怎么办?

转载 作者:行者123 更新时间:2023-12-02 11:53:28 25 4
gpt4 key购买 nike

我需要向你寻求一些关于我遇到的问题的帮助。

我需要创建一个名为“Cuadrilatero”的父类(super class)和一个名为“Paralelogramo”的子类。

Paralelogramo 将扩展 Cuadrilatero。 Cuadrilatero 有 4 个点,带有 X 和 Y 坐标,我需要将其继承到子类 Paraleogramo。

这是代码。

public class Cuadrilatero {

private double P1;
private double P2;
private double P3;
private double P4;

private double x1,x2,x3,x4,y1,y2,y3,y4;


public Cuadrilatero() {
}

public Cuadrilatero(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4){
setP1(x1, y1);
setP2(x2, y2);
setP3(x3, y3);
setP4(x4, y4);
}

//creación de los puntos

public void setP1(double x1, double y1){
this.x1=x1;
this.y1=y1;
}

public double getP1(){
return P1;
}


public void setP2(double x2, double y2){
this.x2=x2;
this.y2=y2;
}

public double getP2(){
return P2;
}

public void setP3(double x3, double y3){
this.x3=x3;
this.y3=y3;
}

public double getP3(){
return P3;
}


public void setP4(double x4, double y4){
this.x4=x4;
this.y4=y4;
}

public double getP4(){
return P4;
}

}

和 Paraleogramo 类

class Paralelogramo extends Cuadrilatero{

private double altura;
private double base;

public Paralelogramo(){
}

public Paralelogramo(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4){
super(P1,P2,P3,P4);
}

public Paralelogramo(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4,double altura, double base){
setAltura(altura);
setBase(base);
}

public void setAltura(double altura){
this.altura=altura;

}

public double getAltura(){
altura=y2-y1;
return altura;
}

public void setBase(double base){
this.base=base;
}

public double getBase(){
base=x4-x1;
return base;
}

public double getArea(){
double area;

area= getBase() * getAltura();

return area;

}

public String toString(){
return "El area del [Paralelogramo] es: " + getArea() + " cuadrados";
}
}

当我编译 Cuadrilatero 时没有问题,但是当我编译 Cuadrilatero 时,变量 P1、P2、P3、P4 以及 X 和 Y 显示错误。“具有私有(private)访问权限”

我该如何解决这个问题?

最佳答案

你在这里犯的第一个错误:

public Paralelogramo(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4){
super(P1,P2,P3,P4);
}

您应该将上面更改为:

public Paralelogramo(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4){
super(x1,y1,x2,y2,x3,y3,x4,y4);

}

public Paralelogramo(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4,double altura, double base){
super(x1,y1,x2,y2,x3,y3,x4,y4);
setAltura(altura);
setBase(base);
}

但是还有其他问题。您的变量 P1 或 P2 的类型为 double,因此当您说

`public double getP1(){
return P1;
}`

它将返回 0。

可能的修复:创建一个新类“Point”,它接受 x 和 y,然后进一步处理该 Point 类的实例。

关于java - 继承java,我该怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47744990/

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