编写一个完整的JavaApplication 程序.包含抽象类 Shape, MyTriangle类及Test类,具体要求如下: 1抽象类Shape doublegetArea):求一个形状的面积 double getPerimeter 0:求一个形状的周长 ②类 MyTriangle 由Shape类派生的具体类,除实现Shape类中的方法外,另有以下属性和方法: 属性 X, y, Z: double型,表示三角形的三条边 s:周长的1/2(注:求三角形面积公式为 5(5-x)(s-y)(s-z),s=(x+y+2)/2开方可用Math.sqrt(double)方法)
时间: 2024-03-24 19:39:16 浏览: 90
JavaMySape抽象类面向对象.doc
好的,下面是一个符合要求的Java程序:
抽象类 Shape:
```java
public abstract class Shape {
public abstract double getArea();
public abstract double getPerimeter();
}
```
具体类 MyTriangle:
```java
public class MyTriangle extends Shape {
private double x, y, z;
public MyTriangle(double x, double y, double z) {
this.x = x;
this.y = y;
this.z = z;
}
public double getArea() {
double s = getPerimeter() / 2;
return Math.sqrt(s * (s - x) * (s - y) * (s - z));
}
public double getPerimeter() {
return x + y + z;
}
}
```
测试类 Test:
```java
public class Test {
public static void main(String[] args) {
MyTriangle triangle = new MyTriangle(3, 4, 5);
System.out.println("Area: " + triangle.getArea());
System.out.println("Perimeter: " + triangle.getPerimeter());
}
}
```
在这个程序中,抽象类 Shape 定义了求面积和周长的抽象方法,具体类 MyTriangle 继承自 Shape 类,并实现了这两个方法,同时增加了三个属性和一个构造方法。测试类 Test 则创建了一个 MyTriangle 对象,并输出了其面积和周长。
阅读全文