编写一个Java程序,定义Shape抽象类,包含私有属性color,创建构造器为color 赋值;包含计算周长的方法celPerimeter();定义子类Triangle, 包含三边;定义子类Circle,包含半径radius;子类分别实现父类 的计算周长功能。
时间: 2023-06-20 07:07:42 浏览: 140
Java:使用抽象类定义一个“形状类”,能够计算周长和面积。
下面是一个简单的 Java 程序,实现了上述要求:
```java
public abstract class Shape {
private String color;
public Shape(String color) {
this.color = color;
}
public String getColor() {
return color;
}
public abstract double calPerimeter();
}
public class Triangle extends Shape {
private double a;
private double b;
private double c;
public Triangle(String color, double a, double b, double c) {
super(color);
this.a = a;
this.b = b;
this.c = c;
}
public double getA() {
return a;
}
public void setA(double a) {
this.a = a;
}
public double getB() {
return b;
}
public void setB(double b) {
this.b = b;
}
public double getC() {
return c;
}
public void setC(double c) {
this.c = c;
}
public double calPerimeter() {
return a + b + c;
}
}
public class Circle extends Shape {
private double radius;
public Circle(String color, double radius) {
super(color);
this.radius = radius;
}
public double getRadius() {
return radius;
}
public void setRadius(double radius) {
this.radius = radius;
}
public double calPerimeter() {
return 2 * Math.PI * radius;
}
}
```
在这个程序中,我们定义了一个抽象类 `Shape`,包含私有属性 `color` 和一个构造器,用于为 `color` 赋值。`Shape` 还包含一个抽象方法 `calPerimeter()`,用于计算周长。
我们还定义了两个子类 `Triangle` 和 `Circle`,分别实现了 `Shape` 的计算周长方法。`Triangle` 包含三个私有属性 `a`、`b` 和 `c`,分别表示三边的长度。`Circle` 包含一个私有属性 `radius`,表示半径的长度。
在 `Triangle` 和 `Circle` 中,我们还定义了相应的构造器和访问器方法,用于获取和设置相应的属性值。`Triangle` 和 `Circle` 都覆盖了 `Shape` 的抽象方法 `calPerimeter()`,实现了自己的计算周长的方法。
这样,我们就成功地实现了一个包含抽象类和子类的 Java 程序,用于计算不同形状的周长。
阅读全文