JAVA实验报告一:面向对象特性实验.doc_第1页
JAVA实验报告一:面向对象特性实验.doc_第2页
JAVA实验报告一:面向对象特性实验.doc_第3页
JAVA实验报告一:面向对象特性实验.doc_第4页
JAVA实验报告一:面向对象特性实验.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验报告实验项目一 Java面向对象特性实验 多态性与动态绑定一、实验目的1 掌握多态性在继承中的运用;2 理解动态绑定的含义;3 学会使用抽象类;4 了解成员变量的隐藏。二、实验内容假设某班级里既有本科生也有研究生,请编写程序统计出全班学生的成绩等级并显示出来。.三、实验原理Java上溯造型技术、抽象类、继承性、多态性、动态绑定等技术原理。四、实验环境主CPU 586以上,内存1G以上,操作系统Windows XP,eclipse 。5、 实验步骤 1、创建一个Polymorphism.java 项目 图 1 创建Polymorphism.java 项目。2、 创建类 Polymorphism。 图 2 创建类 Polymorphism3、 创建抽象类Student 图 3 抽象类Student 4.创建继承于Student的Undergraduate类 图 4 Undergraduate类 5. 创建继承于Student的Postgraduate类 图 5 创建Postgraduate类所有类如下: 图 6 创建所有类后 6.在各类中补充代码,并输入相对应的代码可得。 6.1 抽象类Studentabstract class Student final static int CourseNo = 3; String name; String type; int courses; String courseGrade; public Student(String name) = name; courses = new intCourseNo; courseGrade= ; /初始化courseGrade为空串 代码1 public abstract void calculateGrade(); public String getName( ) return name; public String getType( ) return type;/代码2 /返回学生类型 public String getCourseGrade( ) return courseGrade; public int getCourseScore(int courseNumber) return coursescourseNumber; public void setName(String name) = name; public void setType(String type) this.type = type; public void setCourseScore(int courseNumber, int courseScore) this.coursescourseNumber=courseScore;/代码3按课程索引号设置课程成绩 6.2 创建继承于Student的Undergraduate(本科生)类class Undergraduate extends Student public Undergraduate(String name ) super(name); type = 本科生; public void calculateGrade() int total = 0; double average = 0; for (int i = 0; i =80&average=70&average=60&average=50&average60) courseGrade = 及格; else courseGrade = 不及格; 6.3 创建继承于Student的Postgraduate(研究生)类class Postgraduate extends Student public Postgraduate(String name) super(name); type = 研究生; public void calculateGrade() int total = 0; double average = 0; for (int i = 0; i =90&average=80&average=70&average=60&average70) courseGrade = 及格; else courseGrade = 不及格; 6.4 创建类 Polymorphismpublic class Polymorphism public static void main(String args) Student students = new Student5; students0 = new Undergraduate(陈建平); students1 = new Undergraduate(鲁向东); students2 = new Postgraduate(匡晓华); students3 = new Undergraduate(周丽娜); students4=new Postgraduate(梁欣欣); / 代码5 / 创建姓名为梁欣欣的Postgraduate对象students4 for (int i=0; i5 ;i+) studentsi.setCourseScore(0,87); studentsi.setCourseScore(1,90); studentsi.setCourseScore(2,78); for (int i=0; i5 ;i+) studentsi.calculateGrade(); System.out.println(姓名 + 类型 + 成绩); System.out.println(-); for (int i=0; i5 ;i+) System.out.println(studentsi.getName( )+ + studentsi.getType( )+ + studentsi.getCourseGrade( ); 6、 实验结果 运行可得如下实验结果: 图 7 实验运行结果 七、实验分析 7.1 在 Polymorphism 类中有一个循环语句用来计算每个学生的成绩等级 for(int i=0;i5;i + +) studenti.calculateGrade(); 这里的 calculateGrade() 方法,如果对象是研究生,即按照研究生的标准来计算。如果对象是本科生,即按本科生的标准来计算,这也正体现了方法的多态性。7.2 在程序 Polymorphism 类中,下面语句体现了子类的对象可以赋值给父类的引用变量: students0 = new Undergraduate(陈建平); students1 = new Undergraduate(鲁向东); students2 = new Postgraduate(匡晓华); students3 = new Undergraduate(周丽娜); students4=new Postgraduate(梁欣欣); 7.3 现在请在程序 Polymorphism 类的 main() 方法中添加如下的语句 Student st=new Student ( 李明 ); 此时编译会报错 。这是不允许的,因为Student类是一个抽象类,不可以直接用于创建类,里面什么也没有实现。 八、实验结论一、本实验设计 3 个类 , 分别是学生类 Student, 本科生类 Undergaduate, 研究生类Postgraduate, 其中 Student 类是一个抽象类 , 它包含一些基本的学生信息如姓名、所学课程、课程成绩等 , 而 Undergraduate 类和 Postgraduate 都是 Student 类的子类 , 它们之间的主要差别是计算课程成绩等级的方法有所不同 , 研究生的标准要比本科生的标准高一些。 二、我通过本实验,了解并掌握了多态性在继承中的运用,理解了动态绑定的含义,并学会了使用抽象类,了解成员变量的隐藏。多态性也分静态多态性和动态多态性两种。静态多态性是指定义在一个类或一个函数中的同名函数,它们根据参数表(类型以及个数)区别语义

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论