- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《Java程序设计》 实验报告
2014年10 月17日
姓名 班 级 软工班 学 号 课程
名称 Java语言程序设计 实验项目名 称 构造方法与继承 指导教师 一、实验目的:。
1. 编写程序定义圆类Circle,把圆的性质和行为用代码块封装起来。圆的性质包括圆的半径,圆心坐标,行为包括计算圆面积,计算圆周长、设置半径、获取半径、计算圆个数。实例化若干个圆对象,调用相应方法计算出圆面积、圆周长并计圆个数。
2. 编程实现类的继承。编写父类People,子类Student继承自人类。人类具有姓名,性别,年龄等性质,还具有吃和说的行为。学生类继承父类,还拥有学号性质和学习行为。构造人类和学生类的对象,调用吃、说、学习的方法输出有关信息。
3. 使用 Java的继承关系来描述动物世界的特征和关系。
抽象出项目问题中的对象 :动物、老鼠、熊猫。
抽象出每种对象所具有的性质:名字和食物。
抽象出每种对象所具有的行为,动物具有吃的行为和睡觉的行为,老鼠除具有动物行为外还具有打洞行为。
抽象出继承关系,老鼠类和熊猫类作为子类继承父类动物类,子类继承父类的属性和方法。
4.定义汽车类,其中包含所有汽车共有的属性如名字、排量、油耗、时速等,包含行为如点火、熄火、前进、倒退、鸣笛等,然后在测试类中用定义的类来创建对象,输出该对象的属性和行为信息。
5按以下要求编写程序
(1) 创建一个正方形类,添加正方形的边作为成员变量
(2) 在正方形类中添加两种方法分别计算正方形的周长和面积
(3) 编程在测试类中输出一个正方形的周长和面积
二、实验原理(可以流程图的形式出现,加以文字说明)
1. 定义圆类Circle.
抽象出Circle类包含成员变量radius、x和y,它们的类型均为double,代表了圆的半径和坐标属性。成员方法setRadius( )、getRadius( )、calcArea( )、calcGirth( ),分别实现设置半径、返回半径、计算面积、计算周长的行为。其中setRadius( )方法用于给半径赋值没有返回值,类型为void。calcArea( )、calcGirth( ) 、getRadius( )方法用于计算和返回半径值,类型为double。
声明用于保存圆数量的成员变量num,由Circle类创建任意圆对象时num值均要加1。 num变量应该是被所有圆对象共享,所以使用static关键字声明num为静态变量。使用static声明静态方法getNum( )用来返回num值,返回类型为int。具体声明语句为:private static int num; public static int getNum(){ return num;}
使用static final关键字声明静态的符号常量PI(符号常量通常定义为大写字母),并给其赋值为3.14159,该常量可以被所有Cirlce类的圆对象使用,具体声明语句为:public static final double PI = 3.14159;
定义两个构造方法,一个无参的构造方法和一个带参数构造方法,其中带参构造方法对圆对象进行初始化,将参数r传递给圆对象的成员变量radius,。无参构造方法则不初始任何变量。若需要在圆对象被创建时将圆的数量num增加,可以在构造方法里对num变量进行增加。
程序的入口方法main,在该方法中实例化若干个圆对象,并调用该对象的setRadius( )、getRadius( )、calcArea( )、calcGirth( )、getNum( )方法来输出该对象的半径、周长、面积属性及圆个数。
2. 实现类的继承.
人类是学生类的父类,人类具有姓名,性别,年龄等性质,学生类是人类的子类也具有如上性质,并且学生类还具有学号这一特性。所以人所具有的共性都封装在人类这一父类中,学生类不但继承了人类的共性还具有自己的特有属性学号。人类中具有了吃和说的行为,学生也继承了这些行为,并且学生还具有了学习这一行为。 根据以上分析定义两个类People和Student,People类包括成员变量name、sex、age属性,成员方法eat( )和speek( )。其中name、sex、age属性的访问控制符定义为protected,protected修饰的成员可以被本包中的类以及其子类继承访问。eat( )、speek( )方法的访问控制符定义为public,public修饰的方法其访问权限最大可以被所有类访问。
使用extends关键字实现继承,学生类继承人类共有的属性和方法,此外具有stuNo学号属性和learn( )学习方法。
父类People中定义的构造方法负责对name、s
文档评论(0)