Java利用继承的思想,创建图形、正方形、圆形、三角形这些类,编写上转型程序并计算正方形、圆形和三角形的面积和周长
时间: 2024-06-13 12:03:33 浏览: 198
Java利用继承的思想,可以创建一个抽象类图形类,其中包含有至少两个抽象方法求周长和求面积。然后定义圆形类、长方形类、正方形类、三角形类来继承图形类,并实现上述两个方法。通过这种方式,我们可以灵活地控制图形的形状和大小,并且可以方便地计算它们的面积和周长。
下面是一个示例代码,演示如何计算正方形、圆形和三角形的面积和周长:
```
// 定义一个抽象类图形类
abstract class Shape {
// 定义抽象方法求周长
public abstract double getPerimeter();
// 定义抽象方法求面积
public abstract double getArea();
}
// 定义圆形类
class Circle extends Shape {
private double radius; // 半径
public Circle(double radius) {
this.radius = radius;
}
// 实现求周长的方法
public double getPerimeter() {
return 2 * Math.PI * radius;
}
// 实现求面积的方法
public double getArea() {
return Math.PI * radius * radius;
}
}
// 定义正方形类
class Square extends Shape {
private double side; // 边长
public Square(double side) {
this.side = side;
}
// 实现求周长的方法
public double getPerimeter() {
return 4 * side;
}
// 实现求面积的方法
public double getArea() {
return side * side;
}
}
// 定义三角形类
class Triangle extends Shape {
private double a, b, c; // 三边长
public Triangle(double a, double b, double c) {
this.a = a;
this.b = b;
this.c = c;
}
// 实现求周长的方法
public double getPerimeter() {
return a + b + c;
}
// 实现求面积的方法
public double getArea() {
double p = (a + b + c) / 2;
return Math.sqrt(p * (p - a) * (p - b) * (p - c));
}
}
// 编写上转型程序并计算正方形、圆形和三角形的面积和周长
public class Main {
public static void main(String[] args) {
// 创建一个圆形对象
Shape circle = new Circle(5);
System.out.println("圆形的周长为:" + circle.getPerimeter());
System.out.println("圆形的面积为:" + circle.getArea());
// 创建一个正方形对象
Shape square = new Square(4);
System.out.println("正方形的周长为:" + square.getPerimeter());
System.out.println("正方形的面积为:" + square.getArea());
// 创建一个三角形对象
Shape triangle = new Triangle(3, 4, 5);
System.out.println("三角形的周长为:" + triangle.getPerimeter());
System.out.println("三角形的面积为:" + triangle.getArea());
}
}
输出结果为:
圆形的周长为:31.41592653589793
圆形的面积为:78.53981633974483
正方形的周长为:16.0
正方形的面积为:16.0
三角形的周长为:12.0
三角形的面积为:6.0
--相关问题--:
阅读全文