图形的面积和周长计算程序Java 1.0

案例4-5:长方形和圆形都属于几何图形,都有周长和面积,并且它们都有自己的周长和面积计算公式。使用抽象类的知识设计一个程序,可以计算不同图形的面积和周长。

设计思路

  1. 抽象类 Graph:

    • Graph 是一个抽象类,目的是为具体的图形类(如长方形和圆形)提供一个统一的接口。
    • 在其中定义了两个抽象方法:area() 和 perimeter(),这两个方法的实现将在具体的子类中定义。
  2. 具体类 Cfx (长方形):

    • 继承自 Graph,表示一个长方形。
    • 包含两个私有成员变量 length 和 width,分别表示长方形的长度和宽度。
    • 在构造函数中初始化这些属性,并实现 area() 和 perimeter() 方法:
      • area() 方法返回长方形的面积,计算公式为 length * width
      • perimeter() 方法返回长方形的周长,计算公式为 2 * (length + width)
  3. 具体类 Yx (圆形):

    • 同样继承自 Graph,表示一个圆形。
    • 包含一个私有成员变量 radius,表示圆的半径。
    • 在构造函数中初始化半径,并实现 area() 和 perimeter() 方法:
      • area() 方法返回圆的面积,采用公式 Math.PI * radius * radius
      • perimeter() 方法返回圆的周长,采用公式 2 * Math.PI * radius
  4. 测试类 cx:

    • 包含 main 方法,是程序的入口。
    • 在 main 方法中创建了 Cfx(长方形)和 Yx(圆形)的实例。
    • 使用这些实例调用 area() 和 perimeter() 方法来计算面积和周长,并格式化输出结果。
    • 使用 System.out.printf 方法使输出更美观,并控制小数点后显示的位数。
package day0313;

abstract class Graph{
	abstract double area();
	abstract double perimeter();
}
class Cfx extends Graph {
	private double length;
	private double width;
	
	public Cfx(double length, double width) {
		this.length = length;
		this.width = width;
	}
	double area() {
		return length*width;
	}
	double perimeter() {
		return 2*(length+width);
	}
}
class Yx extends Graph{
	private double radius;

	public Yx(double radius) {
		
		this.radius = radius;
	}
	double area() {
		return Math.PI*radius*radius;
	}
	double perimeter() {
		return 2*Math.PI*radius;
	}
}
public class cx {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Graph c=new Cfx(7.0,2);
		Graph y=new Yx(3);
		System.out.printf("长方形面积:%.2f",c.area());
		System.out.println();//换行
		System.out.printf("长方形周长:%.2f",c.perimeter());
		System.out.println();
		System.out.println("圆形面积:"+y.area());
		System.out.println("圆形周长:"+y.perimeter());

	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值