Java实验三Microsoft_Word_文档.doc_第1页
Java实验三Microsoft_Word_文档.doc_第2页
Java实验三Microsoft_Word_文档.doc_第3页
Java实验三Microsoft_Word_文档.doc_第4页
Java实验三Microsoft_Word_文档.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

Java面向对象程序设计实验报告课程名称 Java面向对象程序设计 实验名称 继承与接口学 院 计算机 专业班级 计Y126 姓 名 xxxx _ 学号 20120040300 实验日期:2014 年 4月17 日一. 实验目的1. 让学生巩固子类的继承性,子类对象的创建过程以及方法的继承与重写。2. 让学生掌握上转型对象的使用,理解不同对象的上转型对象调用同一方法可能产生不同的行为,即理解上转型对象在调用方法时可能具有多种形态。3. 让学生掌握面向接口编程思想。二. 实验内容(1) 实验题目 编写程序模拟中国人、美国人、北京人。除主类外,程序中有四个类:People、ChinaPeople、AmericanPeople、BeijingPeople类。要求如下:(1) People类有权限是protected的double型成员变量:height和weight,以及public void speakHello()、public void averageHeight()、public void averageWeight()方法。(2) ChinaPeople类是People的子类,新增了public void chinaGongfu()方法。要求ChinaPeople重写public void speakHello()、public void averageHeight()、public void averageWeight()方法。(3) AmericanPeople类是People的子类,新增了public void americanBoxing()方法。要求AmericanPeople重写public void speakHello()、public void averageHeight()、public void averageWeight()方法。(4) BeijingPeople类是People的子类,新增了public void beijingOpera()方法。要求AmericanPeople重写public void speakHello()、public void averageHeight()、public void averageWeight()方法。1部分代码public void averageWeight() /代码1 重写averageWeight()方法weight=65;System.out.println(中国人的平均体重:+weight+公斤);public void speakHello() /代码2 重写speakHello()方法System.out.println(How do you do );public void averageHeight()/代码3 重写averageHeight方法height=176;System.out.println(Americansaverage height:+height+cm);public void averageHeight()/代码4 重写averageHeight()方法height=172.5;System.out.println(北京人的平均身高:+height+厘米);public void averageWeight() /代码5 重写averageWeight()方法weight=70;System.out.println(北京人的平均体重:+weight+公斤);2实验结果实验后的练习可以省略People类中的public void speakHello()public void averageHeight()public void averageWeight()的方法体中的语句。实验结果(2) 实验题目(1)编写一个abstract 类,类名为Geometry ,该类有一个abstract方法:public abstract getArea();(2) 编写TotalArea类,该类用Geometry对象数组:tuxing作为成员,以便计算各种图形的面积之和。Geometry类中定义一个 public double computerTotalArea()方法,该方法返回tuxing的元素调用getArea()方法返回的面积之和。(3) 在主类 MainClass的main方法中创建一个TotalArea对象,让该对象计算若干个矩形和圆的面积之和。1.部分代码public double getArea() /代码1 重写getArea() return a*b; public double getArea() /代码2 重写getArea()return r*r*3.14;for(int i=0;ituxing.length;i+)/代码3totalArea=totalArea+tuxingi.getArea();2.实验结果实验后的练习程序代码public class Tixing extends Geometrydouble a,b,h;Tixing(double a,double b,double h)this.a=a;this.b=b;this.h=h;public double getArea()return (a+b)*h/2);if(i%3=1) tuxingi=new Tixing(1+i,2+i,3+i);/梯形实验结果(3) 实验题目 天气可能出现不同的状态,要求用接口封装天气的状态。具体要求如下。(1) 编写一个接口WeatherState,该接口有一个名字为void showState()的方法。(2)编写Weathe类,该类中有一个WeatherState接口声明的变量state。 另外,该类有一个show()方法,在该方法中让接口state回调showState()的方法。(3)编写若干个实现WeatherState接口的类,负责刻画天气的各种状态。(4)编写主类,在主类中进行天气预报。1部分代码public void showState()/代码1 重写showState()System.out.print(多云,有时阴);public void showState()/代码2 重写showState()System.out.print(大雨);public void showState()/代码3 重写showState()System.out.print(小雨.);2实验结果实验后的练习程序代码/WaterWen.javapublic interface WaterWen/接口public void showWen();/Water.javapublic class WaterWaterWen water;public void show()water.showWen();public void setWen(WaterWen w)water=w;/WaterShow.javapublic class WaterShow /主类public static void main (String args)Water waterbei=new Water();/创建对象与C+不同System.out.print(水在0度以下的状态:);waterbei.setWen(new Gutai();waterbei.show();System.out.print(n水在0100度的状态:);waterbei.setWen(new Yetai();waterbei.show();System.out.print(n水在100度以上的状态:);waterbei.setWen(new Qitai();waterbei.show(); /Gutai.javapublic class Gutai implements WaterWen public void showWen()System.out.print(固态);/Yetai.javapublic class Yetai implements WaterWen public void showWen()System.out.print(液态);/Qitai.javapublic class Qitai implements WaterWen public void showWen()System.out.print(汽态);实验结果三. 实验总结 这次实

温馨提示

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

评论

0/150

提交评论