运行结果:
Triangle: side1 = 1.0 side2 = 1.0 side3 = 1.0
color: green
filled: false
Triangle: side1 = 1.0 side2 = 1.5 side3 = 1.0
color: yellow
filled: true
GeometricObject.java
package Uber;
public class GeometricObject {
private String color = "green";
private boolean filled = false;
public GeometricObject() {}
public GeometricObject(String color, boolean filled) {
this.color = color;
this.filled = true;
}
public String getColor() {return color;}
public boolean getFilled() {return filled;}
public void setColor(String color) {this.color = color;}
public void setFilled(boolean filled) {this.filled = filled;}
}
Triangle.java
package Uber;
public class Triangle extends GeometricObject {
private double side1;
private double side2;
private double side3;
public Triangle() {side1 = side2 = side3 = 1;}
public Triangle(double side1, double side2, double side3) {
this.side1 = side1;
this.side2 = side2;
this.side3 = side3;
}
public void setSide(double side1, double side2, double side3) {
this.side1 = side1;
this.side2 = side2;
this.side3 = side3;
}
public double getArea() {
double p = (side1 + side2 + side3) / 2;
return Math.sqrt(p * (p - side1) * (p - side2) * (p - side3));
}
public double getPerimeter() {return side1 + side2 + side3;}
public String toStr() {
return "Triangle: side1 = " + side1 + " side2 = " + side2 + " side3 = " + side3;
}
}
TestTraingle.java
package Uber;
public class TestTraingle {
public static void main(String[] args) {
Triangle one = new Triangle();
System.out.println(one.toStr() + "\ncolor: " + one.getColor() + "\nfilled: " + one.getFilled());
one.setColor("yellow");
one.setFilled(true);
one.setSide(1, 1.5, 1);
System.out.println(one.toStr() + "\ncolor: " + one.getColor() + "\nfilled: " + one.getFilled());
}
}