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

下载本文档

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

文档简介

.实 验 报 告( 2014 / 2015学年 第2学期)课程名称JAVA程序设计实验名称 抽象类和抽象方法实验时间2015年 5月 7日指导单位 计算机学院/软件学院软件工程系指导教师 周莉学生姓名班级学号学院(系)计算机软件学院专 业计算机科学与技术精选范本实验名称抽象类和抽象方法指导教师周莉实验类型上机实验学时2实验时间2015-5-7一、 实验目的1. 掌握多态的实现2. 掌握抽象类和抽象方法的定义和使用二、实验环境(实验设备)1. 每位学生配备计算机一台2. 计算机需安装好JDK和Jcreator三、实验内容1. 首先编写一个抽象类,要求该抽象类有3个抽象方法:Public abstract void f( int x);Public abstract double g(double x);Public abstract double h(double x); 然后分别给出这个抽象类的3个子类。要求:在应用程序主类中使用这些子类创建对象,再让它们的上转型对象调用方法f()、g()和h()。(1)源程序:abstract class Apublic abstract void f(int x);public abstract void g(int x,int y);public abstract double h(double x);class A1 extends Apublic void f(int x) System.out.println(x); public void g(int x,int y) int z=x+y; System.out.println(z); public double h(double x) return x*x; class A2 extends Apublic void f(int x)System.out.println(Hello:+x);public void g(int x,int y)int z=x-y;System.out.println(z);public double h(double x)return Math.sqrt(x);class A3 extends Apublic void f(int x)System.out.println(你好:+x);public void g(int x,int y)double z=(double)x/y;System.out.println(z);public double h(double x)return 1/x;public class ZuoYe5_2public static void main(String args)A a=new A1();a.f(10);a.g(12,20);System.out.println(a.h(100);a=new A2();a.f(10);a.g(12,20);System.out.println(a.h(100);a=new A3();a.f(10);a.g(12,20);System.out.println(a.h(100);(2)实验结果:2. 设计一个人员类(Person),其中包含一个方法pay,代表人员的工资支出。再从Person类派生出助教类(Assistant)、讲师类(Instructor)、副教授类(Assistant Professor)和教授类(Professor)。其中:工资支出=基本工资+授课时数*每课时兼课金。 但助教基本工资为800,每课时兼课金25,讲师基本工资为1000,每课时兼课金35,副教授基本工资为1200,每课时兼课金40,教授基本工资为1400,每课时兼课金50。 将Person定义为抽象类,pay为抽象方法,设计程序实现多态性。(1) 源程序:abstract class Personprotected String name;protected double classum;public Person()=;classum=0;public Person(String name,double classum)=name;this.classum=classum;abstract public double pay();public String toString()return姓名:++t工资支出:+this.pay()+n;class Assistant extends Personpublic Assistant(String name,double classum)super(name,classum);public double pay()return 800+classum*25;class Instructor extends Personpublic Instructor(String name,double classum)super(name,classum);public double pay()return 1000+classum*35;class AssistantProfesson extends Personpublic AssistantProfesson(String name,double classum)super(name,classum);public double pay()return 1200+classum*40;class Professor extends Personpublic Professor(String name,double classum)super(name,classum);public double pay()return 1400+classum*50;public class sy8_2public static void main(String args)Person ps=new Person4;ps0=new Assistant(张三,120);ps1=new Instructor(赵二,130);ps2=new AssistantProfesson(李四,125);ps3=new Professor(王五,134);String output=;for(int i=0;ips.length;i+)output+=psi;System.out.println(output);(2) 实验结果:3. 定义一个抽象类Bank,它包含有oneyearRate(定期利率)、oneyearNationaldebt(国债利率)和interestRate(活期利率)常数和count()方法及show()方法。Count()方法用于对本息合计(存款本金利息)进行计算,而show()方法用于对本息合计进行显示。由于对不同的存款方式,利率是不同的,因此此程序分别定义多个子类实现对抽象类的继承,实现对利率的计算和显示。注意:本程序定义了定期利率、活期利率、国债利率三种利率,按照一万元钱位存款单位进行统计,计算每种利率下存款一年后的本息合计。除了国债外,其他利率都要交纳个人所得税20。(1) 源程序:abstract class Bankprotected static final float oneyearRate=0.0178f;protected static final float oneyearNationaldebt=0.0198f;protected static final float interestRate=0.0078f;abstract void count();abstract void show();class InterestRateCalcute extends Bankprivate float saving;private double sum;InterestRateCalcute(float i)saving=i;count();public void count()sum=saving+(saving*BerestRate*0.8);public void show()System.out.println(With current interest rate,sum=+sum);class OneyearNationaldebtCalcute extends Bankprivate float saving;private double sum;OneyearNationaldebtCalcute(float i)saving=i;count();public void count()sum=saving+(saving*BerestRate*0.8);public void show()System.out.println(With national debt rate,sum=+sum);class OneyearRateCalcute extends Bankprivate float saving;private double sum;OneyearRateCalcute(float i)saving=i;count();public void count() sum=saving+(saving*Bank.oneyearRate*0.8);public void show()System.out.println(With fixed rate,sum=+sum);class Calculatepublic static void main(String args)int mon=10000;OneyearRateCalcute rate=new OneyearRateCalcute(mon);rate.show();OneyearNationaldebtCalcute debt=new OneyearNationaldebtCalcute(mon);debt.show();InterestRateCalcute interest=new InterestRateCalcute(mon);interest.sh

温馨提示

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

评论

0/150

提交评论