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

下载本文档

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

文档简介

1、AU痛嬉上薯 实验报告 (2014 / 2015 学年第2学期) 课程名称 JAVA程序设计 实验名称 抽象类和抽象方法 实验时间 2015年5 月 7日 指导单位 计算机学院/软件学院 软件工程系 指导教师 周莉 学生姓名 班级学号 学院(系) 计算机软件学专业计算机科学与技 院术 实验名称 抽象类和抽象方法 指导教师 周莉 实验类型 上机 实验学时 2 实验时间 2015-5-7 一、实验目的 1. 掌握多态的实现 2. 掌握抽象类和抽象方法的定义和使用 9 二、实验环境(实验设备) 1. 每位学生配备计算机一台 2. 计算机需安装好JDK和Jcreator 三、实验内容 1. 首先编写一

2、个抽象类,要求该抽象类有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 A public abstract void f(int x); public abstract void g(i nt x,i nt y); public abstr

3、act double h(double x); class A1 exte nds A public void f(int x) System.out.pri ntl n( x); public void g(i nt x,i nt y) int z=x+y; System.out.pri ntl n( z); public double h(double x) return x*x; class A2 exte nds A public void f(int x) System.out.pri ntln (Hello:+x); public void g(i nt x,i nt y) int

4、 z=x-y; System.out.pri ntl n(z); public double h(double x) return Math.sqrt(x); class A3 exte nds A public void f(int x) System.out.println(你好:+x); public void g(i nt x,i nt y) double z=(double)x/y; System.out.pri ntl n( z); public double h(double x) return 1/x; public class ZuoYe5_2 public static v

5、oid main(String args) A a=new A1(); a.f(10); a.g(12,20); System.out.pri ntln (a.h(100); a=new A2(); a.f(10); a.g(12,20); System.out.pri ntln (a.h(100); a=new A3(); a.f(10); a.g(12,20); System.out.pri ntln (a.h(100); (2)实验结果: 2. 设计一个人员类(Person),其中包含一个方法pay,代表人员的工资支出。再从Person 类派生出助教类(Assistant)、讲师类(In

6、structor)、副教授类(Assistant Professo)和教 授类(Professo)。其中:工资支出=基本工资+授课时数*每课时兼课金。 但助教基本工资为800,每课时兼课金25,讲师基本工资为1000,每课时兼课金35, 副教授基本工资为1200,每课时兼课金40,教授基本工资为1400,每课时兼课金50。 将Person定义为抽象类,pay为抽象方法,设计程序实现多态性。 (1)源程序: abstract class Person protected String n ame; protected double classum; public Pers on() this.

7、name=; classum=0; public Person( Stri ng n ame,double classum) this .n ame=n ame; this.classum=classum; abstract public double pay(); public Stri ng toStri ng() return姓名:++t 工资支出:+this.pay()+n; class Assista nt exte nds Person public Assista nt(Stri ng n ame,double classum) super( name,clas

8、sum); public double pay() return 800+classum*25; class In structor exte nds Person public In structor(Stri ng n ame,double classum) super( name,classum); public double pay() return 1000+classum*35; class Assista ntProfess on exte nds Person public Assista ntProfess on( Stri ng n ame,double classum)

9、super( name,classum); public double pay() return 1200+classum*40; class Professor exte nds Person public Professor(Stri ng n ame,double classum) super( name,classum); public double pay() return 1400+classum*50; public class sy8_2 public static void main(String args) Pers on ps=new Pers on 4; ps0=new

10、 Assistant(张三,120); ps1=new Instructor(赵二,130); ps2=new AssistantProfesson(李四,125); ps3=new Professor(王五,134); String output=; for(i nt i=0;i C : Proeras FilesXJCreatorTJVGEZOOl. ere 二二四五 爰李王 姓姓姓姓 出出出出 克支支支 二工工工 h- kgv to continuc 3. 疋义一个抽象类 Bank,它包含有oneyearRate(疋期利率)、oneyearNationaldebt(国 债利率)和inte

11、restRate (活期利率)常数和count()方法及show()方法。Count()方法用 于对本息合计(存款本金+利息)进行计算,而show()方法用于对本息合计进行显示。 由于对不同的存款方式,利率是不同的,因此此程序分别定义多个子类实现对抽象类的 继承,实现对利率的计算和显示。 注意: 本程序定义了定期利率、活期利率、国债利率三种利率,按照一万元钱位存款单位 进行统计,计算每种利率下存款一年后的本息合计。除了国债外,其他利率都要交纳个 人所得税20%。 (1)源程序: abstract class Bank protected static final float on eyearR

12、ate=0.0178f; protected static final float on eyearNati on aldebt=0.0198f; protected static final float in terestRate=0.0078f; abstract void coun t(); abstract void show(); class In terestRateCalcute exte nds Bank private float sav ing; private double sum; In terestRateCalcute(float i) sav in g=i;co

13、un t(); public void coun t() sum=savi ng+(savi ng*Ba nk.i nterestRate*0.8); public void show() System.out.println(With current interest rate,sum=+sum); class On eyearNati on aldebtCalcute exte nds Bank private float sav ing; private double sum; On eyearNatio naldebtCalcute(float i) sav in g=i;co un

14、t(); public void coun t() sum=savi ng+(savi ng*Ba nk.i nterestRate*0.8); public void show() System.out.println(With national debt rate,sum=+sum); class On eyearRateCalcute exte nds Bank private float sav ing; private double sum; On eyearRateCalcute(float i) sav in g=i;co un t(); public void coun t()

15、 sum=savi ng+(savi ng*Ba nk.on eyearRate*0.8); public void show() System.out.println(With fixed rate,sum=+sum); class Calculate public static void main(String args) int mo n=10000; On eyearRateCalcute rate=new On eyearRateCalcute(m on); rate.show(); On eyearNati on aldebtCalcute debt=new On eyearNati on aldebtCalcute(m on); debt.show(); InterestRateCalcute interest =new InterestRateCalcute(mon);

温馨提示

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

评论

0/150

提交评论