试验2类的创建与使用
实验 2类的创建与使用 班级:1603姓名: 上交时间: 李泳东 第 5 周星期二 学号:161010118 实验时间: 第 2-4 周 教师评语: 成绩: 一、实验目的 评阅教师:梁新健 授课教师:梁新健 课程名称: 面向对象程序设计 1.掌握类的创建方法、对象的创建方法及类成员方法的调用方法。 2.掌握类与子类的创建与使用方法。 二、实验内容 在 D:\A 文件夹下创建一个名为 Exp2 的项目,在该项目下完成下列各题,要求不同题 放在不同的包中,然后在主类的主方法中完成调用。 1.在该项目中新建一个 java 类:Box 类,包括 private 成员变量 length、width、heigth, public 成员方法:setter、getter 方法、带参与不带参构造方法、返回体格积的方法。在主类 的 main 方法中创建该类的对象,并输出其体积。 2.创建一个圆类 Circle,圆包括圆心坐标和在半径,成员方法包括 setter、getter 方法、 带参与不带参构造方法、 返回圆面积的方法,在主类的主方法中创建该类对象, 并输出调用 相关方法输出圆的面积. 3.创建一个学生类, 数据成员包括学号、 姓名、及三科成绩, 成员方法包括 setter、getter 方法、带参与不带参构造方法、 判断并输出能否得奖学金的方法, 在主类中创建学生对象并 初始化, 调用类中的方法根据成绩判断并输出该学生是否可能得奖学金 (设若有不及格科目, 则不能得奖学金) 4.利用 Random 类创建随机数发生器模拟掷骰子游戏(教材例3-9)。 5.几何图元类层次的设计(教材例4-1) 父类:几何图元类 Shape 成员变量:颜色、点 成员方法:不带参构造方法与带参构造方法、返回颜色与点信息 颜色类 Color 与点类 Point 使用系统的类 子类 1:矩形类 Rectangle(父类为几何图元类) 成员变量:矩形的长与宽 成员方法:不带参构造方法与带参构造方法、 求矩形的面积与周长、返回矩形的长与宽 的字符串 子类 2:正方形类 Square(父类为矩形类) 成员方法:不带参构造方法与带参构造方法、获取正方形的边长、设置正方形的边长 在主方法中分别定义矩形类与正方形类的对象并初始化, 输入矩形的长与宽, 输出正方 形的边长。 思考题:若颜色类和点类均使用系统定义,应如何操作? 6. 新建一个复数类 Complex,重载 equals 方法和 toString方法, 在主方法中创建两个复 数类对象,并比较其是否相等。 (教材例 4-2) 7. 试设计一个记录某门课程的所有同学的考试成绩的成绩单类ScoreReport 其中应包含课程的编码、 课程名称、考试日期、教师姓名以及每个学生的学号、 姓名、 成绩等信息,还应该包含与这相关的所有行为方法 在 main 方法初始化课程信息,并创建一个ScoreReport 类对象,输出相关的课程信息 和学生信息。 三、操作提示 将各题放在不同的包中,每个包中创建一个主类(含有主方法的类),每个类先定义数据 成员、添加构成方法(不带参与带参的构造方法)、setter,getter 方法,然后再添加其它方法。 四、源程序及运行结果 代码: 1.Box 类 2. public class Box { { 3. 4.private int length 5.private int width 6.private int height 7. 8.public void setLength( (int lengthValue){){length= =lengthValue} } 9.public void setWidgth( (int widthValue){){width= =widthValue} } 10.public void setHeight( (int heightValue){){height= =heightValue} } 11.public void setBox( (int lengthValue, ,int widthValue, ,int heightValue) )//set 赋值,也是带参赋值 12.{ { 13. length = =lengthValue 14. width = =widthValue 15. height = =heightValue 16.} } 17. 18.public int getLength(){(){returnreturn length} } 19.public int getWidth(){(){returnreturn width} } 20.public int getHeight(){(){returnreturn height} } 21. 22.public void setBox()()//不带参构造赋值 23.{ { 24. length = =0 25. width = =0 26. height = =0 27.} } 28. 29.public int volume(){(){ 30.int Volume= =length* *width* *height; ; 31.returnreturn Volume; ; 32.} } 33.} } Main importimport java. .util. .Scanner; ; public class SetBox { { public static void main( (String[][]args) ) { { Scanner in= = newnew Scanner( (System. .in);); Box e = =newnew Box();(); e . .setBox();();//无参构造 System . .out. .println( (“分别输入 length width height 值“);); e . .setBox( (in. .nextInt(),(), in. .nextInt(),(), in. .nextInt());());//带参构造 System . .out. .println( (“Length 为“+ +e. .getLength());()); System . .out. .println( (“Width 为“+ +e. .getWidth());()); System . .out. .println( (“Heigh 为“+ +e. .getHeight());()); System . .out. .println( (“所创建的 BOX 体积为:“+ +e. .volume());()); } } } } 2 2 CircleCircle 类类 public class Circle { { private double x; ;//圆心横坐标 private double y; ;//圆心纵坐标 private double r; ;//圆半径 public void setX( (double x) ) { {t