我正在研究一个处理继承和多态的编程项目。我只是需要,有人可以向我提供我的工作反馈,与此同时我要感谢您抽出时间提供反馈。教科书问题如下:
设计一个名为Triangle
的类,其扩展为GeometricObject
。该课程包含:
getArea()
的方法,它返回此三角形的区域。getPerimeter()
的方法,它返回此三角形的周长。toString()
的方法,它返回三角形的字符串描述。 toString()方法实现如下:
返回Triangle: side1 = " + side1 + " side2= " side2 + "side3" + side3;
不考虑GeometricObeject类,我只完成了Triangle类和测试程序,所以这里是我的代码:
public class Triangle extends GeometricObject {
private double side1, side2, side3; private double base, height;
public Triangle() {
side1 = 1.0;
side2 = 1.0;
side3 = 1.0;
}
public Triangle(double side1, double side2, double side3, double base, double height) {
this.side1 = side1;
this.side2 = side2;
this.side3 = side3;
this.base = base;
this.height = height;
}
public double getSide1() {
return side1;
}
public double getSide2() {
return side2;
}
public double getSide3() {
return side3;
}
public double getBase() {
return base;
}
public double getHeight() {
return height;
}
public void setBase(double newBase) {
base = newBase;
}
public void setHeight(double newHeight) {
height = newHeight; }
public void setSide1(double newSide1) {
side1= newSide1;
}
public void setSide2(double newSide2) {
side2= newSide2;
}
public void setSide3(double newSide3) {
side3= newSide3;
}
public String toString() {
return (“Triangle : side1 " + getSide1() + "triangle side 2 " + getSide2()
+ "get side 3" + getSide3()) ;
}
public String toString() {
return (“Get base" + getBase() + "get height" + getHeight());
}
public void display() {
}
public double area() {
return 0.5 * base * height;
}
public double perimeter() {
return side1 + side2 + side3;
} }
Test file
public class TestTriangle {
public static void main(String[] args) {
triangle t = new Triangle();
System.out.println("A triangle " + t.toString());
System.out.println("The radius is " + t.getRadius());
System.out.println("The area is " + t.getArea())
} }
答案 0 :(得分:0)
你在你的例子中所采用的继承和多态的概念是不符合标准的,为什么?因为,
继承显示"是"关系,如果是,那么你不需要在你的孩子班级中编写那么多代码。我们只需将通用代码放在基类中,只需在子类中使用它。
多态性 - 根据我的阅读,你没有使用多态性。