




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、深 圳 大 学实 验 报 告课程名称: JAVA程序设计 实验名称: 包和继承练习 班 级: 微电二班 姓 名: 同 组 人: 无 实验日期: 2016 年 4 月 17 日 教师签字: 一、实验目的Java语言与C+最大的形式不同是对外部方法的引入,大家可以通过语句package,import两条语句进行体会,打包语句package可以把自己的类进行分门别类,便于管理,而import语句则可以引入内部或用户自定义类,继承在java语言中也做了限制,只允许单一继承而不支持多重继承,如果需要多重继承的特性,则引入接口的概念,本次实验我们对包、继承等概念进行联系,达到巩固掌握,灵活应用的目的。二、
2、实验内容 考虑前一个实验,其基本内容如下:1. 假设我们现在有三组不同的兴趣小组,第一组由三位同学组成,进行通讯项目的研发,第二组由两位同学组成,对手持设备进行研究,第三组由四位同学组成,进行多媒体研究2. 每个同学基本情况由以下信息构成:姓名 专业 项目号 项目得分 在前面基础上,我们再做如下一些设定:3. 假设我们现在有三种不同的角色,教师、本科生、研究生,本科生的属性可由2确定,学生可在项目中建立一个包放相应的类,另建一个包存放教师的类代码,研究生当然可以考虑从本科生的类进行继承,增加属性:研究方向、导师姓名,教师的属性我们可以简化为:姓名、职称、研究方向、所带研究生数目等。 4. 每个
3、本科同学基本情况扩展以下信息:姓名 专业 项目号 项目得分 项目申请经费 指导教师 5. 对我们给定的类考虑如何生成构造函数?在此基础上,编程实现以下功能:1. 动态增加多条研究生对象、本科生对象2. 查询对应研究生导师姓名、本科生创新项目的指导教师姓名 。(比如当你输入1表示进行研究生信息查询,2进行本科生创新项目信息查询)按照我所给的实验报告格式,认真完成各项要求并在指定的时间内提交你的报告(注意,只需提交word格式文档一份,千万不要压缩,增加打开工作量!),请各位注意提交时间,过了截止时间,拒绝接受!三、程序代码(一)“student”包package student;public c
4、lass Student public int score;public String name,major,group; void setName(String new_name)name=new_name;void setMajor(String new_major)major=new_major;void setGroup(String new_group)group=new_group;void setScore(int new_score)score=new_score;(二)“teacher”包package teacher;public class Teacherpublic S
5、tring name,title,research;public int number;void setName(String new_name)name=new_name;void settitle(String new_title)title=new_title; void setResearch(String new_research)research=new_research;void setnumber(int new_number)number=new_number;(三)主程序import java.util.Scanner;import student.*;import tea
6、cher.*;class Undergraduate extends Student /本科生类继承学生类public String teacher;public int cost;public Undergraduate(String name, String major, String group, int score,int cost, String teacher) = name;this.major = major;this.group = group;this.score = score;this.cost = cost; / 项目申请经费,.this.teac
7、her = teacher; class Graduate extends Student /研究生类继承学生类public String title, teacher;public Graduate(String name, String major, String group, int score,String title, String teacher) = name;this.major = major;this.group = group;this.score = score;this.title = title; /增加的属性 / 研究方向this.teache
8、r = teacher; /指导老师public class Test public static void main(String args) int i, j, m, n, k, p, q;System.out.println("输入要创建的研究生对象的人数: "); /动态创建研究生对象的数量Scanner s = new Scanner(System.in);i = s.nextInt();Graduate gr = new Graduatei;for (j = 0; j <= i-1; j+) Scanner ss = new Scanner(System.
9、in);System.out.println("输入创建研究生的信息,依次为: 姓名 专业 项目号 项目得分 研究方向 导师姓名");grj = new Graduate(ss.next(), ss.next(), ss.next(), ss.nextInt(), ss.next(), ss.next(); /动态写入研究生的属性System.out.println("输入要创建的本科生对象的人数: "); /动态创建本科生对象的数量Scanner su = new Scanner(System.in); m = su.nextInt();Undergr
10、aduate un = new Undergraduatem;for (n = 0; n <= m-1; n+) Scanner ssu = new Scanner(System.in);System.out.println("输入创建本科生的信息,依次为:姓名 专业 项目号 项目得分 项目申请经费 指导教师 "); unn = new Undergraduate(ssu.next(), ssu.next(), ssu.next(), ssu.nextInt(),ssu.nextInt(), ssu.next();/动态写入本科生的属性System.out.print
11、ln("输入“1”查询研究生导师姓名,输入“2”查询本科生创新项目指导教师姓名: ");Scanner sss = new Scanner(System.in);k = sss.nextInt();if(k = 1)for (p = 0; p <= i - 1; p+) System.out.println( + "的指导老师是:" + grp.teacher); /输出研究生的信息else if(k = 2)for (q = 0; q <= m - 1; q+) System.out.println( + &
12、quot;的指导老师是:" + unq.teacher); /输出本科生的信息四、 程序输出结果五总结在做本次实验之前,本人对java的“包”和“继承”都是很陌生的。虽然,在视频学习中有了解过,但是对它们的概念,用法等等还是一知半解。另外,说实话,在此我都从未写过有关“包”,“继承”之类的程序。所以,在看到今次的实验要求后,我竟无从下手了。然后,为了完成这一次的任务,我只好又重新地去看教学视频,查阅教材,去慢慢地深入地了解“包”和“继承”。在此之前,我只是知道一些例如“package 语句必须是第一条语句”,“使用import 关键字来导入包”这些关于“包”的很浅显的东西,并没有体会
13、到这些东西到底有什么用。然而,在慢慢地了解了“包”有关的知识后,我体会到了“包”之于一个复杂程序或者说是一个大项目的重要作用。 “包”其实就好像是一个个文件,把我的类分门别类起来,便于使用和管理。当程序的规模逐渐庞大时,就很容易发生类名称冲突的现象。如果没有包的存在,管理程序中的类名称将是一件非常麻烦的事情。另外,通过这一次的实验,我体会到了,在设计和写代码中使用继承,可以节省定义类之间共同具有的属性的时间,并且复用那些已经定义好的类可以提高程序整个系统的性能,减少其在使用过程中出现错误概率。然后,我在实验要求的“动态增加多条研究生对象、本科生对象”和查询信息这两项中花费了不少时间。因为,要实现这些功能,那么就不可避免的用到“输入”。然而,java中控制输入东西可没有C语言那么简单。在此之前我都没有知道这些,所以一下就被卡住在这里了。在查阅了有关资料后我终于知道了怎么控制输入了,原来要用“import java.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 煤炭仓储车间管理制度
- 原辅料需求管理制度
- 木工粉尘清扫管理制度
- 滴滴创业团队管理制度
- 摄影画室日常管理制度
- 村镇小学食堂管理制度
- 办税厅建立管理制度
- 怎样下发考勤管理制度
- 销售模式及管理制度
- 库房中转物资管理制度
- 理化因素所致的疾病总论
- 餐饮股东合作协议书范本(2篇)
- 法定传染病监测与报告管理
- GB/T 22795-2008混凝土用膨胀型锚栓型式与尺寸
- 蓝莓栽培技术课件
- 广州市人力资源和社会保障局事业单位招聘工作人员【共500题附答案解析】模拟检测试卷
- 部编五年级下册道德与法治第二单元《公共生活靠大家》知识要点复习课件
- 清淤工程施工记录表
- 商法案例英文版ppt全套教学课件
- 2021年浙江省杭州市西湖区杭州绿城育华小学一级下册期末数学试卷
- 科技改变生活-PPT课件
评论
0/150
提交评论