java面对对象程序设计
实验报告书
实验名称: java继承与接口
任课老师: 李波
学 号: 2012210922
姓 名: 吴晗
一 实验目的和要求
掌握对一个接口的不同实现的机制
二 实验内容
1、编写一个Java应用程序,除了主类(TestOne)外,该程序中还有3个类:People、ChinaPeople和AmericanPeople。该程序具体要求如下:
1)People类有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)在TestOne类的主方法中分别创建各子类的对象并调用各自的方法打印输出信息。
即AmericanPeople类与ChinaPeople类同时继承People类,并对People类中已经有的方法进行重写,然后定义子类特有的方法,在一个测试类中创建这两个子类的对象,并调用这些子类的方法,观察结果的不同。
2、编写一个Java应用程序,除了主类(TestTwo)外,该程序还有Shape接口、三角形类Triangle类、矩形Rectangle类。该程序具体要求如下:
1)Shape接口public abstract double computeArea(double a,double b)抽象方法。
2)Triangle类实现Shape接口,完成计算面积的功能:用a代表三角形的底、b代表三角形的高。
3)Rectangle类实现Shape接口,完成计算面积的功能:有a代表矩形的底、b代表矩形的高。
4)在TestTwo类的主方法中分别创建各子类的对象并调用各自的计算面积的方法,并打印输出信息面积信息。(要求使用到多态性)
即Rectangle类与Triangle类同时实现Shape接口,并实现Shape接口中的抽象方法computeArea()方法。在TestTwo测试类中实例化Rectangle和Triangle这两个类的对象,并调用同名函数computeArea()方法,同时传参,体会JAVA的多态。
三 实验环境
pc
四 核心源代码
//People.java
class People{
protected double weight,height;
public void speakHello(){
System.out.println("你好,吃了吗?");
}
public void averageHeight(){
height=170;
System.out.println("人类的平均身高:"+height);
}
public void averageWeight(){
weight=67.34;
System.out.println("人类的平均体重:"+weight);
}
}
//ChinaPeople.java
class ChinaPeople extends People{
public void speakHello(){
System.out.println("你好,吃了吗?");
}
public void averageHeight(){
height=168.78;
System.out.println("中国人的平均身高:"+height+"厘米");
}
public void averageWeight(){
weight=65;
System.out.println("中国人的平均体重:"+weight+"公斤");
}
public void chinaGongfu(){
System.out.println("坐如钟,站如松睡,如弓");
}
}
//AmericanPeople.java
class AmericanPeople extends People{
public void speakHello(){
System.out.println("How are you");
}
public void averageHeight(){
height=176;
System.out.println("American's average height:"+height+"cm");
}
public void averageWeight(){
weight=75;
System.out.println("American's average weight:"+weight+"kg");
}
public void americanBoxing(){
System.out.println("直拳、勾拳、组合拳");
}
}
//TestOne.java
public class TestOne{
public static void main(String args[]){
ChinaPeople chinaPeople=new ChinaPeople();
AmericanPeople americanPeople=new AmericanPeople();
chinaPeople.speakHello();
americanPeople.speakHello();
chinaPeople.averageHeight();
americanPeople.averageHeight();
chinaPeople.averageWeight();
americanPeople.averageWeight();
chinaPeople.chinaGongfu();
americanPeople.americanBoxing();
}
}
//Shape.java
public interface Shape{
public abstract double computerArea(double a,double b);
}
//Triangle.java
public class Triangle implements Shape{
public double computerArea(double a,double b){
double area;
area=a*b/2;
return area;
}
}
//Rectangle.java
public class Rectangle implements Shape{
public double computerArea(double a,double b){
double area;
area=a*b;
return area;
}
}
//TestTwo.java
public class TestTwo{
public static void main(String args[]){
double a=3;
double b=5;
Triangle A;
Rectangle B;
A=new Triangle();
B=new Rectangle();
double result=A.computerArea(a,b);
System.out.println("三角形的面积:"+result);
result=B.computerArea(a,b);
System.out.println("矩形的面积:"+result);
}
}
五 实验结果及分析
2011/20##学年第二学期《Java程序设计》实验报告
河南省高等教育自学考试实验报告册计算机及应用专业(本科段)《JAVA》姓名所属地市实验地点实验日期实验总成绩指导教师签名实验单位(…
五子棋JAVA实验报告一实验目的和要求1能够用编程语言实现一个简单的五子棋程序2在实际系统中使用实现人工智能的相关算法3进一步加深…
信息工程学院Java程序设计实习报告JAVA图形用户界面实验六Java图形用户界面1实验目的1掌握图形用户界面基本组件2了解如何使…
北京联合大学信息学院“面向对象程序设计”课程上机实验报告题目:JAVA上机实验心得体会姓名(学号):专业:计算机科学与技术编制时间…
Java语言程序设计实验报告实验序号3一实验目的及要求1进一步熟练Java语法和常用方法的使用2进一步熟练Java程序结构3进一步…
北京联合大学信息学院“面向对象程序设计”课程上机实验报告题目:JAVA上机实验心得体会姓名(学号):专业:计算机科学与技术编制时间…
Homework3实验报告一实验目的与要求1掌握Java中类和接口的基本知识2继承的基本知识3集合的基本操作二实验内容1PIMCo…
浙江理工大学Java程序设计实验报告20xx20xx学年第二学期学院班级姓名学号任课教师信息学院11数字媒体技术2周咪咪20xx3…
JAVE实验报告学号姓名班级指导教师129074401李阳网124柯栋梁安徽工业大学计算机学院20xx年1月实验一利用JAVA反射…
Java课程设计报告学号姓名班级指导教师129074068叶玉虎计122班柯栋梁安徽工业大学计算机学院20xx年12月实验一利用J…
实验报告计算机与信息工程学院实验中心学期20xx20xx课程名称Java程序设计实验班级信息1202姓名方逸梅学号12121002…