首页 » 正文内容 » 1421380许倩然实验报告2

1421380许倩然实验报告2

时间:2023-03-29 02:07:01  热度:0°C
上海建桥学院实验报告课程名称: 面向对象程序设计 实验类型: 设计型 实验项目名称: 包的设计和使用 类的封装、继承、多态 实验地点: 326 实验日期: 2015 年 10 月 30 日姓名: 许倩然 学号: 1421380 班级: 软工B14-2 成绩: 一、实验目的及要求 1掌握包的创建。 2掌握访问控制符的使用 3/ 掌握继承,以及继承在程序中的具体应用。4/ 掌握多态的分类,以及多态在程序中的具体应用。二、实验环境及要求 jdk1/5以上的开发环境,可使用任何编辑器。三、实验内容及步骤实验一:1/创建一个正方形类Square,正方形的边长的访问权限为private,将其生成在myapp/square包中/设计构造方法。2/创建一个圆类Circle,圆的半径的访问权限为private,将其生成在myapp/circle包中,提供一个改变圆半径的成员方法。3/定义一个类,要求:(1) 通过键盘流输入正方形的边长和圆的半径。(2) 当输入的边长大于半径时,输出圆周长和正方形面积的差值(若输出的差值为负值,请将其转化为正值);当输入的边长小于半径时,输出圆面积和正方形周长的差值。差值通过DOS控制台输出(若输出的差值为负值,请将其转化为正值)。源代码(排版工整):package myapp/square/public class Square private double length=0/public 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 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(System/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,它包含成员变量: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 stu=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() 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. 《1421380许倩然实验报告2》内容来源于互联网,版权归原著者或相关公司所有。
2. 若《86561825文库网》收录的文本内容侵犯了您的权益或隐私,请立即通知我们删除。