当前位置:文档之家› Java实验三实验报告

Java实验三实验报告

实验报告课程名称面向对象课程设计实验项目名称类的继承班级与班级代码13计算机科学与技术1班实验室名称(或课室)SS1 205专业计算机科学与技术任课教师尹华学号:12251102120姓名:林淑英实验日期:2014 年4 月28 日广东财经大学教务处制姓名林淑英实验报告成绩评语:指导教师(签名)年月日说明:指导教师评分后,实验报告交院(系)办公室保存。

实验三类的继承、多态、接口、访问控制符与修饰符实验目的:通过编程练习掌握类的继承,多态,接口,访问控制符与修饰符的使用方法。

实验原理:类的继承,接口。

实验设备:计算机,Eclipse。

实验题目:1.设计一个Person 类,其成员变量有:姓名(name)、性别(gender)、年龄(age);再设计一个Student类,它是类Person的子类,其成员变量有:学号(id)、班名(cname)、成绩(score),类Student中要有一个方法 display(),用来显示一个学生的信息。

编写一个测试程序,创建一个Student类的对象,要求name和id 是自己的姓名和学号,输出学生的各种信息,学生的基本信息在类Student的带参数的构造方法中设定。

2.定义一个类A,该类有一个方法f,方法f可以输出英文字母,再定义一个类B是A的子类,子类B不能重写父类A的方法f,子类有一个方法g,可以输出中文字符串。

编写测试程序,创建B的对象,输出英文字母和中文字符串。

3.定义一个坐标类Pointer,成员变量包括x和y;成员方法有:(1)构造方法(2)setX、setY、getX、getY、display方法(3)类方法distance用来计算两点之间的距离编写测试程序,创建Pointer的两个对象并计算两个点坐标的距离。

4. 定义一个抽象类Area、两个Area的子类RectArea和RoundArea,以及一个实现类ImpleArea。

要求如下(1)抽象类Area类中只包含一个抽象方法double area()。

(2)子类RoundArea类通过覆盖父类中的抽象方法area()来求圆的面积,另一个子类RectArea类通过覆盖父类中的抽象方法area()求长方形的面积。

(3)圆的半径和长方形的边分别定义为子类RoundArea类和RectArea 类的域,都为double娄型。

(4)ImpleArea类中创建对象,接收键盘输入,输入内容分别为圆的半径和长方形的边,并求出圆和长方形的面积,在屏幕上显示。

5. 编写一个Flyable接口,包含:方法:double flySpeed(),用于返回最大的飞行速度。

并实现该接口.实验步骤:1.publicclass Person {String name;String gender;int age;public Person() {}public Person(String name, String gender, int age) { = name;this.gender = gender;this.age = age;}public String getName() {return name;}publicvoid setName(String name) { = name;}public String getGender() {return gender;}publicvoid setGender(String gender) {this.gender = gender;}publicint getAge() {return age;}publicvoid setAge(int age) {this.age = age;}}publicclass Student extends Person {String id;String cname;double score;public Student(String id, String cname, double score) { super();this.id = id;ame = cname;this.score = score;}public Student() {//super();}public String getId() {return id;}publicvoid setId(String id) {this.id = id;}public String getCname() {return cname;}publicvoid setCname(String cname) {ame = cname;}publicdouble getScore() {return score;}publicvoid setScore(double score) {this.score = score;}publicvoid display(){System.out.println(getName()+""+getGender()+""+getAge()+""+id+"" +cname+""+score);}}publicclass Xiti1 {publicstaticvoid main(String args[]){Student s1=new Student("12251102120","class1",89.5);s1.setName("shade");s1.setGender("女");s1.setAge(21);s1.display();}}2.publicclass A {A(){}void f(){System.out.println("abc");}}publicclass B extends A {B(){}publicvoid g(){super.f();System.out.println("大家好啊!");}}publicclass Xiti2 {publicstaticvoid main(String args[]){B b=new B();b.g();}}3.publicclass Pointer {privateint x;privateint y;Pointer(){}Pointer(int x,int y){this.x=x;this.y=y;}publicint getX() {return x;}publicvoid setX(int x) {this.x = x;}publicint getY() {return y;}publicvoid setY(int y) {this.y = y;}void display(Pointer p1,Pointer p2){System.out.println("两个点分别是:"+"("+p1.getX()+","+p1.getY()+")"+",("+p2.getX()+","+p2.getY()+")") ;}staticdouble distance(Pointer p1,Pointer p2){returnMath.sqrt(Math.pow((p1.x-p2.x),2)+Math.pow((p1.y-p2.y),2));}}publicclass Xiti3 {publicstaticvoid main(String args[]){Pointer x1=new Pointer(2,2);Pointer x2=new Pointer(5,6);x1.display(x1,x2);System.out.println("这两点的距离是:"+x1.distance(x1,x2));}}4.publicabstractclass Area {abstractdouble area();}publicclass RectArea extends Area {double c;double k;RectArea(double c,double k){this.c=c;this.k=k;}publicdouble area(){return (this.c)*(this.k);}}publicclass RoundArea extends Area{double r;RoundArea(double r){this.r=r;}publicdouble area(){return 3.14*(this.r)*(this.r);}}import java.util.Scanner;publicclass ImpleArea {publicstaticvoid main(String args[]){Scanner s=new Scanner(System.in);System.out.println("请输入圆的半径:");double r=s.nextDouble();RoundArea round=new RoundArea(r);System.out.println("圆的面积是"+round.area());System.out.println("请输入长方形的长:");double c=s.nextDouble();System.out.println("请输入长方形的宽:");double k=s.nextDouble();RectArea rectangle=new RectArea(c,k);System.out.println("长方形的面积是"+rectangle.area());}}5.publicinterface Flyable {publicdouble flySpeed();}publicclass Xiti5 {publicstaticvoid main(String args[]){ShiXianJieKou s=new ShiXianJieKou();System.out.println("最大飞行速度是:"+s.flySpeed());}}实验预测:1.2.3.4.5.实验结果:1.2.3.4.5.结论:经过调试实验结果与预测相同。

相关主题