设置长方体的长宽高;求长方体的体积和底面积

题目:

(1)定义一个类,描述一个矩形,包含有长、宽两种属性和计算面积方法。
(2)编写一个类,继承自矩形类,同时该类描述长方体,具有长、宽、高属性和计算体积的方法。
(3)编写一个测试类,对以上两个类进行测试,创建一个长方体,定义其长、宽、高输出其底面积和体积。
解析 创建三个类,矩形类Rectangle{} 长方体类Cuboid{} 运行程序的测试类Test{}
该题目方法很多,我写两种
题目非常简单,但是我们要拓宽的是解题的思路,一定要开放,条条大路通罗马

方法一

package com.blb.seatwork_1;

public class Rectangle {
	private int longth;
	private int width;
	public int getLongth() {
		return longth;
	}
	public void setLongth(int longth) {
		this.longth = longth;
	}
	public int getWidth() {
		return width;
	}
	public void setWidth(int width) {
		this.width = width;
	}
	int area(){
		return longth*width;
	}
	
}

这是矩形类,赋值长宽属性,和一个面积的返回方法

package com.blb.seatwork_1;

public class Cuboid extends Rectangle{
	private	int height;
	
	public int getHeight() {
		return height;
	}

	public void setHeight(int height) {
		this.height = height;
	}

	int volume(){
		return area()*height;
	}
}

这里长方体类,有一个属性,和一个方法,方法返回体积

package com.blb.seatwork_1;
/*
 (1)定义一个类,描述一个矩形,包含有长、宽两种属性和计算面积方法。
(2)编写一个类,继承自矩形类,同时该类描述长方体,具有长、宽、高属性和计算体积的方法。 
(3)编写一个测试类,对以上两个类进行测试,创建一个长方体,定义其长、宽、高输出其底面积和体积。

 */
public class Test {
	public static void main(String[] args) {
		Cuboid c=new Cuboid();
		c.setLongth(10);
		c.setWidth(10);
		c.setHeight(15);
		System.out.println(c.area());
		System.out.println(c.volume());
	}
}

这是一个主函数,来实现题目的功能,方法一完毕

方法二:

同样的三个类,这个程序会简单一些,但是运用了一个多态的知识

package com.blb.seatwork;

public class Rectangle {
	double longth;
	double width;
	public void area(double longth,double width){
		 double areas=longth*width; //面积的方法
		 System.out.println("面积为"+areas);
	 }
}

这个矩形类用的是常规的赋值,属性是从方法参数里面传入的

package com.blb.seatwork;

public class Cuboid extends Rectangle{
	double height; 
	public void volume(double longth,double width,double height){
		double volumes=longth*width*height;//体积的方法
		System.out.println("体积为"+volumes);
	}
}

这个长方体类,体积是三个参数传入

package com.blb.seatwork;
/*
 * (1)定义一个类,描述一个矩形,包含有长、宽两种属性和计算面积方法。
(2)编写一个类,继承自矩形类,同时该类描述长方体,具有长、宽、高属性和计算体积的方法。 
(3)编写一个测试类,对以上两个类进行测试,创建一个长方体,定义其长、宽、高输出其底面积和体积。

 * 
 */
public class Test {
	public static void main(String[] args) {
		Rectangle r=new Cuboid();//这是运用了多态的内容,但是没有重写,所以也不算多态
		r.area(10, 50);
		((Cuboid)r).volume(10,50,30);//这是一个强转
	}
}

这一步用了一个多态,写在程序里面,注意看

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值