java实验报告——继承与接口.doc_第1页
java实验报告——继承与接口.doc_第2页
java实验报告——继承与接口.doc_第3页
java实验报告——继承与接口.doc_第4页
java实验报告——继承与接口.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

成绩: 面向对象原理与Java实践课程实验报告实验2:继承与接口姓 名 _ _ 班 级 _ _ 学 号 _ _ 实验地点 _ _ 实验时间 _ _ 指导教师 _ _ 一、实验目的:l 掌握类的继承机制,掌握成员变量的隐藏与方法的重写l 掌握接口的定义和实现方法二、实验要求:l 复习类的继承以及接口的设计方法l 注意保证类的封装性l 编写程序完成以下实验内容并上交实验报告三、实验内容:1、P153:习题42、P153:习题53、P153:习题64、在程序包packageOne中编写至少含一个方法的公有接口InterfaceOne。在程序包packageTwo中定义公有类SuperClass,该类含有一个受保护的内部类InnerClass,这个类实现接口InterfaceOne。在程序包packageThree中定义公有类SubClass继承SuperClass,类SubClass定义一个返回类型为InterfaceOne的方法返回内部类InnerClass的对象实例。请正确使用程序包组织以上类和接口,编译并运行,并观察编译器生成的字节码文件的命名方式。四、设计思路:习题4的设计思路是设计一个抽象类作为父类,并设计相关字段以及计算成绩等级的抽象方法,然后再设计本科生类和研究生类作为子类继承,并且各自实现其计算成绩等级的抽象方法,最终将结果输出。习题5的设计思路跟习题4相同,只需额外设计一个枚举类存储学生的成绩等级,并对相关代码作少许修改即可。习题6的设计思路是习题4的延伸,在习题4的类结构基础上,将原来的计算成绩等级的抽象方法提取出来,放在一个公有接口中,然后再分别设计计算本科生和研究生成绩等级的类实现接口的抽象方法。五、程序源代码:习题4的源代码:package Package_4;public abstract class Student String Name=;String Stu_type=;int C_score;int English_score;int Java_score;int score;String sco_Level=;public Student(String name,String stu_type,int sco1,int sco2,int sco3)Name=name;Stu_type=stu_type;C_score=sco1;English_score=sco2;Java_score=sco3;score=(sco1+sco2+sco3)/3;package Package_4;public class Undergraduate extends Studentpublic Undergraduate(String name,String stu_type,int sco1,int sco2,int sco3)super(name,stu_type,sco1,sco2,sco3);if(score=85&score=75&score=65&score=60&score=0&score60)sco_Level=不及格;elsesco_Level=未知等级;static void Output(Undergraduate udg)System.out.println(*本科生*);/System.out.println();System.out.print(姓名);System.out.print(t+学生类型);System.out.print(t+C语言成绩);System.out.print(t+英语成绩);System.out.print(t+Java成绩);System.out.print(t+平均分);System.out.println(t+成绩等级);for(int i=0; i=90&score=80&score=70&score=60&score=0&score60)sco_Level=不及格;elsesco_Level=未知等级;static void Output(Postgraduate pg)System.out.println(*研究生*);/System.out.println();System.out.print(姓名);System.out.print(t+学生类型);System.out.print(t+C语言成绩);System.out.print(t+英语成绩);System.out.print(t+Java成绩);System.out.print(t+平均分);System.out.println(t+成绩等级);for(int i=0; i=85&score=75&score=65&score=60&score=0&score60)sco_Level=Sco_Level.E;elsesco_Level=Sco_Level.X;static void Output(Undergraduate udg)System.out.println(*本科生*);/System.out.println();System.out.print(姓名);System.out.print(t+学生类型);System.out.print(t+C语言成绩);System.out.print(t+英语成绩);System.out.print(t+Java成绩);System.out.print(t+平均分);System.out.println(t+成绩等级);for(int i=0; i=90&score=80&score=70&score=60&score=0&score60)sco_Level=Sco_Level.E;elsesco_Level=Sco_Level.X;static void Output(Postgraduate pg)System.out.println(*研究生*);/System.out.println();System.out.print(姓名);System.out.print(t+学生类型);System.out.print(t+C语言成绩);System.out.print(t+英语成绩);System.out.print(t+Java成绩);System.out.print(t+平均分);System.out.println(t+成绩等级);for(int i=0; i=85&score=75&score=65&score=60&score=0&score=90&score=80&score=70&score=60&score=0&score60)sco_Level=不及格;elsesco_Level=未知等级;return sco_Level;package Package_6;public abstract class Student String Name=;String Stu_type=;int C_score;int English_score;int Java_score;int score;String sco_Level=;public Student(String name,String stu_type,int sco1,int sco2,int sco3)Name=name;Stu_type=stu_type;C_score=sco1;English_score=sco2;Java_score=sco3;score=(sco1+sco2+sco3)/3;package Package_6;public class Undergraduate extends Studentpublic Undergraduate(String name, String stu_type, int sco1, int sco2,int sco3) super(name, stu_type, sco1, sco2, sco3);ugd_Level ugd_level=new ugd_Level();sco_Level=ugd_level.getLevel(score);static void Output(Undergraduate udg)System.out.println(*本科生*);/System.out.println();System.out.print(姓名);System.out.print(t+学生类型);System.out.print(t+C语言成绩);System.out.print(t+英语成绩);System.out.print(t+Java成绩);System.out.print(t+平均分);System.out.println(t+成绩等级);for(int i=0; iudg.length;i+)System.out.print(udgi.Name);System.out.print(t+udgi.Stu_type);System.out.print(t+String.valueOf(udgi.C_score);System.out.print(t+String.valueOf(udgi.English_score);System.out.print(t+String.valueOf(udgi.Java_score);System.out.print(t+String.valueOf(udgi.score);System.out.println(t+udgi.sco_Level);System.out.println();package Package_6;public class Postgraduate extends Studentpublic Postgraduate(String name, String stu_type, int sco1, int sco2,int sco3) super(name, stu_type, sco1, sco2, sco3);/ TODO Auto-generated constructor stubpg_Level pg_level=new pg_Level();sco_Level=pg_level.getLevel(score);static void Output(Postgraduate pg)System.out.println(*研究生*);/System.out.println();System.out.print(姓名);System.out.print(t+学生类型);System.out.print(t+C语言成绩);System.out.print(t+英语成绩);System.out.print(t+Java成绩);System.out.print(t+平均分);System.out.println(t+成绩等级);for(int i=0; ipg.length;i+)System.out.print(pgi.Name);System.out.print(t+pgi.Stu_type);System.out.print(t+String.valueOf(pgi.C_score);System.out.print(t+String.valueOf(pgi.English_score);System.out.print(t+String.valueOf(pgi.Java_score);System.out.print(t+String.valueOf(pgi.score);System.out.println(t+pgi.sco_Level);System.out.println();package Package_6;public class Test public static void main(String args) Undergraduate udg=new Undergraduate5;udg0=new Undergraduate(小明,本科生,25,95,74);udg1=new Undergraduate(小红,本科生,60,82,82);udg2=new Undergraduate(小白,本科生,64,49,27);udg3=new Undergraduate(小黑,本科生,94,77,89);udg4=new Undergraduate(小军,本科生,91,84,73);Postgraduate pg=new Postgraduate5;pg0=new Postgraduate(小明,本科生,25,95,74);pg1=new Postgraduate(小红,本科生,60,82,82);pg2=new Postgraduate(小白,本科生,64,49,27);pg3=new Postgraduate(小黑,本科生,94,77,89);pg4=new Postgraduate(小军,本科生,91,84,73);Undergraduate.Output(udg);Postgraduate.Output(pg);第4题的源代码:package PackageOne;public interface InterfaceOne void OutPut();package PackageOne;import PackageThree.SubClass;public class test public static void main(String args) SubClass sc=new SubClass();InterfaceOne ifo= sc.getInnerclass();ifo.OutPut();package PackageThree;import PackageOne.InterfaceOne;imp

温馨提示

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

评论

0/150

提交评论