盈彩体育注册(中国)有限公司 | 您所在的位置:网站首页 › 盈彩体育注册(中国)有限公司 › Java程序设计作业(类与对象) |
1. (案例分析题) 实验六 类与对象 1. 实验目的 (1) 理解类的封装概念。 (2) 掌握Java定义类的格式。 (3) 掌握构造方法的设计方法。 (4) 掌握成员变量和成员方法的设计方法。 (5) 掌握this关键字的使用方法。 2. 实验内容 1. 定义长方体类Cuboid,要求如下: (1)私有成员变量包括长length、宽width和高height;(2)构造方法包括一个公共的空构造方法,一个能够初始化所有成员变量的构造方法;(3)包括所有的setter和getter方法,其中setter方法要求对形参进行验证,例如长、宽和高都大于0;(4)功能方法包括计算表面积getArea()、计算体积getCubage()、判断是否正方体isCube()、输出该长方体的长宽高printCuboid()、绘制该长方体(给出提示信息即可)drawing()。 测试一要求如下: (1)利用空构造方法创建一个新的长方体对象cuboidA,然后利用setter方法设置长宽高分别为1.5、2.6和18.6, (2)调用printCuboid()方法输出cuboidA的基本信息,调用isCube()方法判断是否正方体; (3)调用方法drawing()模拟绘制该长方体。 测试二要求如下: (1)利用构造方法创建一个具有长宽高分别为2.5、6.8和8.0的长方体对象cuboidB,然后利用setLength()方法修改length为4.6; (2)调用getArea()方法计算表面积; (3)调用getCubage计算该长方体的体积。 2. 定义房间类Room,要求如下: (1)私有成员变量包括房间编号id,面积area,户型type,单价price(元/平米),销售状态state等; (2)定义一个空构造方法;定义第二个构造方法能够根据房间编号,面积,单价创建Room对象;定义第三个构造方法能够根据所有成员变量创建Room对象; (3)定义针对成员变量state和price的setter和getter方法,定义getArea()方法返回房间面积; (3)功能方法包括:showRoom()方法输出Room对象所有成员变量;getMoney()获得房间总价。 楼盘river房间Room对象信息如表6-1中所示。定义测试类,对表6-1完成如下操作: (1)统计3个房间的总面积; (2)统计3个房间的总价; (3)把3-2-502房间的销售状态修改为true; (4)显示3个房间的详细信息。 表6-1 楼盘river的房间信息 编号id 面积area 户型type 单价price 销售状态state 3-2-502 113.5 三室一厅 15000 false 4-5-1108 156.9 四室二厅 17500 true 4-3-1501 45.9 二室一厅 16200 true 实验1: 长方体类: package JinQingYi;public class Cuboid { private double length; private double width; private double height; public Cuboid(){ } public Cuboid(double length, double width, double height){ this.length = length; this.width = width; this.height = height; } public double getLength(){ return length; }测试类: 测试一: package JinQingYi;public class TestCubiod01 { public static void main(String[] args) { Cuboid cuboidA=new Cuboid(); cuboidA.setLength(1.5); cuboidA.setWidth(2.6); cuboidA.setHeight(18.6); cuboidA.printlnCuboid(); System.out.println("表面积为:"+ cuboidA.getArea()); System.out.println("体积为:"+ cuboidA.getCubage()); if (cuboidA.isCube()){ System.out.println("该长方体是正方体。"); }else { System.out.println("该长方体不是正方体。"); } cuboidA.drawing(); }}测试二: package JinQingYi;public class TestCuboid02 { public static void main(String[] args) { Cuboid cuboidB=new Cuboid(2.5,6.8,8.0); cuboidB.setLength(4.6); System.out.println("表面积为:"+ cuboidB.getArea()); System.out.println("体积为:"+ cuboidB.getCubage()); }}实验2: Room类: package JinQingYi;public class Room { private String id; private double area; private String type; private double price; private boolean state; public Room(String id,double area,String type,double price,boolean state){ this.id=id; this.area=area; this.type=type; this.price=price; this.state=state; } public String getId(){ return id; } public void setId(String id) { this.id = id; } public double getArea(){ return area; } public void setArea(double area) { this.area = area; } public String getType(){ return type; } public void setType(String type) { this.type = type; } public double getPrice(){ return price; } public void setPrice(double price) { this.price = price; } public boolean isState(){ return state; } public void setState(boolean state) { this.state = state; } public double getMoney(){ return area*price; } public void showRoom(){ System.out.println("房间编号:"+id); System.out.println("房间面积:"+area); System.out.println("房间户型:"+type); System.out.println("房间单价:"+price); System.out.println("销售状态:"+state); }}测试类: package JinQingYi;public class TestRoom { public static void main(String[] args) { Room room1=new Room("3-2-502",113.5,"三室一厅",15000,false); Room room2=new Room("4-5-1108",156.9,"三室一厅",17500,true); Room room3=new Room("4-3-1501",45.9,"三室一厅",16200,true); double totalArea=room1.getArea()+ room2.getArea()+ room3.getArea(); System.out.println("3个房间的总面积为:"+totalArea); double totalPrice=room1.getMoney()+ room2.getMoney()+ room2.getMoney(); System.out.println("3个房间的总价为:"+totalPrice); room1.setState(true); System.out.println("更新信息后,3-2-502房间的销售状态为:"+ room1.isState()); System.out.println("3个房间的详细信息如下:"); room1.showRoom(); System.out.println(); room2.showRoom(); System.out.println(); room3.showRoom(); System.out.println(); }} |
CopyRight 2018-2019 盈彩体育注册(中国)有限公司 版权所有 豫ICP备16040606号-1 |