java 长方体类_java实例_多态 [长方形类Rect长方体类Cub添加抽象类 Shape]

这是一个使用Java编写的程序,定义了一个抽象类`shape`,该类包含计算面积和周长的抽象方法。类`Rect`作为长方形的实现,扩展了`shape`类,并提供了设置尺寸、获取面积和周长的功能。`Cub`类则作为长方体的实现,继承自`Rect`,增加了高度属性和计算体积、表面积的方法。用户可以通过输入选择创建长方形或长方体,并输入相应的尺寸来查看其面积、周长、体积或表面积。
摘要由CSDN通过智能技术生成

21978a429a9016d8500c4505541e1bd0.png

代码实现

package Lab6;

import java.util.Scanner;

abstract class shape {

public abstract double area();

public abstract double peri();

}

class Rect extends shape

{

public int length;

public int width;

public void setdate(int length,int width)

{

this.length = length;

this.width = width;

}

public int getlength()

{

return length;

}

public int getwidth()

{

return width;

}

public double area(){

return this.length*this.width;

}

public double peri(){

return this.length*2+this.width*2;

}

}

class Cub extends Rect

{

private int Height;

public void setdate(int length,int width,int Height)

{

super.setdate(length, width);

this.Height = Height;

this.length = length;

this.width = width;

}

public int getHeight()

{

return Height;

}

public double getvol(){

return this.length*this.width*this.Height;

}

public double getarea(){

return 2*(this.length*this.width+this.Height*this.length+this.Height*this.width);

}

}

public class Lab6 {

public static void main(String[] args) {

// TODO 自动生成的方法存根

boolean x = true;

while(x)

{

System.out.println("请输入1或2选择长方形或长方体:");

Scanner in = new Scanner(System.in);

int n=in.nextInt();

switch (n)

{

case 1:

Rect shp_1 = new Rect();

System.out.println("请输入l,w:");

int l_1=in.nextInt();

int w_1=in.nextInt();

shp_1.setdate(l_1, w_1);

System.out.println("面积:"+shp_1.area()+" "+"周长:"+shp_1.peri());

break;

case 2:

Cub shp_2 = new Cub();

System.out.println("请输入l,w,h:");

int l_2=in.nextInt();

int w_2=in.nextInt();

int h_2=in.nextInt();

shp_2.setdate(l_2, w_2,h_2);

System.out.println("体积:"+shp_2.getvol()+" "+"表面积:"+shp_2.getarea());

break;

//default:

}

}

}

}

标签:shp,java,int,多态,Height,width,length,长方体,public

来源: https://www.cnblogs.com/ProtoDrive/p/11084714.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值