实验4

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上机实践 4
Java 类与对象
1.实验目的 本实验要求学生掌握 Java 类的定义和使用方法,理解对象的声明与使用,并能熟练运 用构造方法对类的成员变量进行初始化赋值。 2.实验任务 编写一个 Java Application 程序,该程序在命令行窗口输出学生对象的相关信息: “学号:1201,班号:2,姓名:Marry,性别:女,年龄:18”和“学号:1428,班号: 4,姓名: Tom,性别:男,年龄: 20” 。 3.实验效果 实验效果如图 3.1 所示。 4.实验指导 创建一个表示学生的类 Student。这个类的属性有 “学号” 、 “班号” 、 “姓 名” 、 “性别” 、 “年龄” ,学生可以根据理解自行定义变量的数据类型。 Student 类除了定义了用于为成员变量初始化的构造方法外, 还定义了其他成员方 法,分别为“获得学号” 、 “获得班号” 、 “获得性别” 、 “获得姓名” 、 “获得年龄” 等方法。 为类 Student 增加一个方法 public String toString( ),该方法把 Student 类的对象的 所有属性信息组合成一个字符串以便输出显示。 编写测试类 StudentDemo,并创建 Student 类的对象,并验证新增加的功能。 5.实验模板 请按模板要求,将【代码】替换为 Java 程序代码。 StudentDemo.java
第 public double getArea() { if(b) { double p=(sideA+sideB+sideC)/2.0; area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC)) ; return area; } else { System.out.println("不是一个三角形,不能计算面积"); return 0; } } } class Rectangle { double width,height,area; Rectangle(double w,double h) { 【代码 6】 //方法体,将参数 a,b,c 分别赋值给 width,height } double getLength() { 【代码 7】 //方法体,要求计算出矩形 length 的值并返回 } double getArea() { 【代码 8】 //方法体,,要求计算出矩形 area 的值并返回 } } class Circle { double radius,area; Circle(double r) { 【代码 9】 //方法体,将参数 r 赋值给 radius } double getLength() { 【代码 10】 //方法体的代码,要求计算出圆形的 length 返回 } double getArea() { 【代码 11】 //方法体,要求计算出圆形的 area 返回 } } public class AreaAndLength { public static void main(String args[]) { double length,area; 103
7.实验评价
实验编号:301 实验效果评价 模板完成情况 实验测试评价 练习(1)完成情况 练习(2)完成情况 练习(3)完成情况 练习(4)完成情况 练习(5)完成情况 总 评 A B C D E 学生姓名: A 实验时间: B C 教师签字: D E
104
Circle circle=null; Trangle trangle=null; Rectangle rectangle=null; 【代码 12】 //创建对象 circle 【代码 13】 //创建对象 trangle。 【代码 14】 //创建对象 rectangle 【代码 15】 // circle 调用方法返回周长并赋值给 length System.out.Baidu Nhomakorabearintln("圆的周长:"+length); 【代码 16】 // circle 调用方法返回面积并赋值给 area System.out.println("圆的面积:"+area); 【代码 17】 // trangle 调用方法返回周长并赋值给 length System.out.println("三角形的周长:"+length); 【代码 18】 // trangle 调用方法返回面积并赋值给 area System.out.println("三角形的面积:"+area); 【代码 19】 // rectangle 调用方法返回面积并赋值给 area System.out.println("矩形的面积:"+area); 【代码 20】 // trangle 调用方法返回周长并赋值给 length System.out.println("矩形的周长:"+length); } }
6.实验测试 (1). 如果直接通过 Student 类对象调用该类成员变量 studentID,classID,name,sex 和 age,会出现什么样的编译结果和运行结果? (2). 如果删除 Student 类中定义的每个成员变量的访问控制符 private,再重复上述操 作,又会得到怎样的结果? (3). 在类 A 中有两个默认的方法 a、b,一个私有方法 c。在 A 的派生类 B 中有 3 个 公共的方法 b、c、d。写出定义这两个类的 Java 代码片段,并说明哪些方法是多 态的?
class Trangle { double sideA,sideB,sideC,area,length; boolean b; public Trangle(double a,double b,double c) { 【代码 1】 //参数 a,b,c 分别赋值给 sideA,sideB,sideC if(【代码 2】) //a,b,c 构成三角形的条件表达式 { 【代码 3】 //给 b 赋值为真。 } else { 【代码 4】 //给 b 赋值赋值为假。 } } double getLength() { 【代码 5】 //方法体,要求计算出三角形 length 的值并返回 } 102
101
(4). 输入如下所示的 Java Application 程序,理解构造方法的重载与使用,并写出运行 结果。 class OverloadDemo { OverloadDemo( ) { System.out.println(“No parameters”); } OverloadDemo (int a, int b ) { System.out.println(“Two parameters”); } OverloadDemo (double a ) { System.out.println(“One parameters”); } } public class Overload { public static void main(String args[]) { OverloadDemo ob1=new OverloadDemo( 12.5); OverloadDemo ob2=new OverloadDemo( 12 , 5); OverloadDemo ob3=new OverloadDemo( ); } } (5). 三角形、矩形和圆形的类封装,并分别求其对象的面积和周长。请按模板要求, 将【代码】替换为 Java 程序代码。 模板 AreaAndLength.java
class Student { private long studentID; 100 图 4.1 程序运行结果
第 private int classID; private String name; private char sex; private int age; public Student(long sid,int cid,String n,char c,int a) { 【代码 1】 //参数 sid,cid,n,c,a 分别赋值给各个成员变量 } public long getStudentID() { 【代码 2】 //获取学生学号值 } public long getClassID() { 【代码 3】 //获取学生班号值 } public long getName() { 【代码 4】 //获取学生姓名值 } public long getSex() { 【代码 5】 //获取学生性别值 } public long getAge() { 【代码 6】 //获取学生性别值 } public String toString() { 【代码 7】 //将学生类所有属性信息组合成一个字符串返回 } } public class StudentDemo { public static void main (String args[]) { 【代码 8】 //声明并创建学生对象 s1,传递变量值: 1201 , 2 , Marry,女, 18 【代码 9】 //声明并创建学生对象 s2,传递变量值: 1428 , 4 , Tom,男, 20 【代码 10】 【代码 11】 } } //s1 调用 toString()方法,并将返回的字符串显示在屏幕上 //s2 调用五个获取属性值的方法,并组合成字符串显示在屏幕上
相关文档
最新文档