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

下载本文档

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

文档简介

1、上海建桥学院实验报告课程名称: 面向对象程序设计 实验类型: 设计型 实验项目名称: 包的设计和使用 类的封装、继承、多态 实验地点: 326 实验日期: 2015 年 10 月 30 日姓名: 许倩然 学号: 班级: 软工B14-2 成绩: 一、实验目的及要求 1掌握包的创建。 2掌握访问控制符的使用 3. 掌握继承,以及继承在程序中的具体应用。4. 掌握多态的分类,以及多态在程序中的具体应用。二、实验环境及要求 jdk1.5以上的开发环境,可使用任何编辑器。三、实验内容及步骤实验一:1.创建一个正方形类Square,正方形的边长的访问权限为private,将其生成在myapp.square

2、包中,设计构造方法。2.创建一个圆类Circle,圆的半径的访问权限为private,将其生成在myapp.circle包中,提供一个改变圆半径的成员方法。3.定义一个类,要求:(1) 通过键盘流输入正方形的边长和圆的半径。(2) 当输入的边长大于半径时,输出圆周长和正方形面积的差值(若输出的差值为负值,请将其转化为正值);当输入的边长小于半径时,输出圆面积和正方形周长的差值。差值通过DOS控制台输出(若输出的差值为负值,请将其转化为正值)。源代码(排版工整):package myapp.square;public class Square private double length=0;pu

3、blic Square()public Square(double l)length=l;public double getLength()return length;public double getSC()return length*4;public double getSA()return length*length;package myapp.circle;public class Circle private double radius=0;public void setRadius(double r)radius=r;public double getRadius()return

4、radius;public double getCC()return 2*Math.PI*radius;public double getCA()return Math.PI*radius*radius;import myapp.circle.Circle;import myapp.square.Square;import java.util.Scanner;public class Test public static void main(String args) System.out.println(输入正方形的边长和圆的半径:); Scanner sc=new Scanner(Syste

5、m.in); Square s=new Square(sc.nextDouble(); Circle c=new Circle(); c.setRadius(sc.nextDouble(); sc.close(); if(s.getLength()c.getRadius() System.out.println(Math.abs(c.getCC()-s.getSA(); else System.out.println(Math.abs(c.getCA()-s.getSC(); 结果(截图):边长半径: 边长半径:实验二:1.定义一个人类(Person),声明在包app.father,它包含成员

6、变量:private String name; private char sex;构造方法:通过有参重载的构造方法初始化成员变量;成员方法:public void print() /控制台输出此类姓名,性别详细信息2.定义学生类(Student)继承Person类,声明在包app.son,子类的成员变量包括成员变量 :学号(ID)构造方法:带参数的构造方法,初始化所有拥有的成员变量成员方法:public void print()/控制台输出此类详细信息3.定义测试类,生成在包app.test(仅包含main方法)要求:通过运行时多态实现调用Student对象的print方法(Person st

7、u=new Student(实参); stu.print()。源代码(排版工整): package app.father; public class Person private String name; private char sex; public Person() public Person(String n,char s) name=n; sex=s; public void print() System.out.println(姓名:+name+ 性别:+sex); public String getName() return name; public char getSex()

8、return sex; package app.son; import app.father.Person; public class Student extends Person private String ID; public Student(String n,char sex,String id) super(n,sex); ID=id; public void print() System.out.println(姓名:+getName()+ 性别:+getSex()+ ID:+ID); package app.test; import app.father.Person; import app.son.Student; public class Test public static void main(String args)Person stu=new Student(小桀,男,74576);stu.print();结果(截图):四、分析与讨论(实验过程中发现的重点与难点) 实验一中,包的封装必须在程序的第一行;用private修饰成员变量无法直接被其他类使用,需要通过该类里设计的相关方法进行修改或获取数值;使用Scanner需要注意使用完后用变量名.close()关闭或者释放内存,同时也要

温馨提示

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

最新文档

评论

0/150

提交评论