java实验报告(圆类,动物继承,人类继承)

上传人:第*** 文档编号:57495093 上传时间:2018-10-22 格式:PDF 页数:15 大小:249.26KB
返回 下载 相关 举报
java实验报告(圆类,动物继承,人类继承)_第1页
第1页 / 共15页
java实验报告(圆类,动物继承,人类继承)_第2页
第2页 / 共15页
java实验报告(圆类,动物继承,人类继承)_第3页
第3页 / 共15页
java实验报告(圆类,动物继承,人类继承)_第4页
第4页 / 共15页
java实验报告(圆类,动物继承,人类继承)_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《java实验报告(圆类,动物继承,人类继承)》由会员分享,可在线阅读,更多相关《java实验报告(圆类,动物继承,人类继承)(15页珍藏版)》请在金锄头文库上搜索。

1、JavaJava 程序设计程序设计 实验报告实验报告20142014 年年 1010 月月 1717 日日姓名班级软工班学号13139042课程 名称Java 语言程序设 计实验项目 名称构造方法与 继承指导教师一、实验目的: 。 1. 编写程序定义圆类 Circle,把圆的性质和行为用代码块封装起来。圆的性质包括圆 的半径,圆心坐标,行为包括计算圆面积,计算圆周长、设置半径、获取半径、计算圆个数。 实例化若干个圆对象,调用相应方法计算出圆面积、圆周长并计圆个数。 2. 编程实现类的继承。编写父类 People,子类 Student 继承自人类。人类具有姓名, 性别,年龄等性质,还具有吃和说的

2、行为。学生类继承父类,还拥有学号性质和学习行为。 构造人类和学生类的对象,调用吃、说、学习的方法输出有关信息。 3. 使用 Java 的继承关系来描述动物世界的特征和关系。 ( ( 1 1 ) )抽象出项目问题中的对象 :动物、老鼠、熊猫。 ( ( 2 2 ) )抽象出每种对象所具有的性质:名字和食物。 ( ( 3 3 ) )抽象出每种对象所具有的行为, 动物具有吃的行为和睡觉的行为,老鼠除具有 动物行为外还具有打洞行为。 ( ( 4 4 ) )抽象出继承关系, 老鼠类和熊猫类作为子类继承父类动物类,子类继承父类的 属性和方法。 4.定义汽车类,其中包含所有汽车共有的属性如名字、排量、油耗、时

3、速等,包含行为 如点火、熄火、前进、倒退、鸣笛等,然后在测试类中用定义的类来创建对象,输出该 对象的属性和行为信息。 5 按以下要求编写程序 (1) 创建一个正方形类,添加正方形的边作为成员变量 (2) 在正方形类中添加两种方法分别计算正方形的周长和面积 (3) 编程在测试类中输出一个正方形的周长和面积 二、实验原理(可以流程图的形式出现,加以文字说明) 1. 定义圆类 Circle. ( ( 1 1 ) )抽象出 Circle 类包含成员变量 radius、x 和 y,它们的类型均为 double,代 表了圆的半径和坐标属性。成员方法 setRadius( )、getRadius( )、ca

4、lcArea( )、 calcGirth( ),分别实现设置半径、返回半径、计算面积、计算周长的行为。其 中 setRadius( )方法用于给半径赋值没有返回值,类型为 void。calcArea( )、 calcGirth( ) 、getRadius( )方法用于计算和返回半径值,类型为 double。 ( ( 2 2 ) )声明用于保存圆数量的成员变量 num,由 Circle 类创建任意圆对象时 num 值 均要加 1。 num 变量应该是被所有圆对象共享,所以使用 static 关键字声明 num 为静态变量。使用 static 声明静态方法 getNum( )用来返回 num 值,

5、返回类型为 int。具体声明语句为: private static int num; public static int getNum()return num; ( ( 3 3 ) )使用 static final 关键字声明静态的符号常量 PI(符号常量通常定义为大写 字母) ,并给其赋值为 3.14159,该常量可以被所有 Cirlce 类的圆对象使用,具体 声明语句为: public static final double PI = 3.14159;( ( 4 4 ) )定义两个构造方法, 一个无参的构造方法和一个带参数构造方法,其中带参构 造方法对圆对象进行初始化,将参数 r 传递给圆

6、对象的成员变量 radius, 。无参构 造方法则不初始任何变量。若需要在圆对象被创建时将圆的数量 num 增加,可以 在构造方法里对 num 变量进行增加。 ( ( 5 5 ) )程序的入口方法 main,在该方法中实例化若干个圆对象,并调用该对象的 setRadius( )、getRadius( )、calcArea( )、calcGirth( )、getNum( )方法来 输出该对象的半径、周长、面积属性及圆个数。2. 实现类的继承.( ( 1 1 ) )人类是学生类的父类,人类具有姓名,性别,年龄等性质,学生类是人类的子 类也具有如上性质,并且学生类还具有学号这一特性。所以人所具有的共

7、性都封 装在人类这一父类中,学生类不但继承了人类的共性还具有自己的特有属性学号。 人类中具有了吃和说的行为,学生也继承了这些行为,并且学生还具有了学习这 一行为。 根据以上分析定义两个类 People 和 Student,People 类包括成员变量 name、sex、age 属性,成员方法 eat( )和 speek( )。其中 name、sex、age 属性 的访问控制符定义为 protected,protected 修饰的成员可以被本包中的类以及其 子类继承访问。eat( )、speek( )方法的访问控制符定义为 public,public 修饰 的方法其访问权限最大可以被所有类访问。

8、 ( ( 2 2 ) )使用 extends 关键字实现继承, 学生类继承人类共有的属性和方法, 此外具有 stuNo 学号属性和 learn( )学习方法。 ( ( 3 3 ) )父类 People 中定义的构造方法负责对 name、sex、age 变量初始化,子类 Student 中定义构造方法继承父类构造并对 stuNo 属性初始化。 在 Student 类的构 造方法的第一句使用 super(name, sex, age) 语句显式调用父类构造,保证父类 构造被调用之后再调用子类构造。 ( ( 4 4 ) )编写程序的入口方法 main,在该方法中实例化人类对象和学生对象,并调用 对象

9、的相应方法输出信息。3. 描述动物世界的特征和关系.AnimalPandasleepMouseeatdig( ( 1 1 ) )动物世界的名字和食物是共有的属性,吃和睡觉是共有的行为。定义 Animal 类,在该类中定义成员变量 name 和 food,成员方法 eat( )和 sleep( )。根据封 装性的要求将 name 和 food 属性定义为 private 私有的,保证该属性只能被在本 类内部访问,其他类或派生类要访问该属性可以通过 public 公有的方法 setName( )、getName( )、setFood( )、getFood( )进行访问,其中 setXXX( ) 方

10、法用于给属性赋值,getXXX( )方法用于返回属性。 ( ( 2 2 ) )定义老鼠类 Mouse 和熊猫类 Panda,这两类均继承自 Animal 类,继承动物类 的 name 和 food 属性以及 eat( )和 sleep( )方法。Mouse 类和 Panda 类在构造方 法中调用 setName( )和 setFood( )方法对名称和食物属性初始化。 ( ( 3 3 ) )老鼠类定义打洞方法 dig( )输出信息。 ( ( 4 4 ) )定义测试类 AnimalTest,编写程序入口 main( )方法,在该方法中创建老鼠和 熊猫对象,调用相应方法输出信息。 4.汽车的属性和

11、行为。 (1)建立汽车类 Car,汽车属性:名字,排量,油耗,时速分别记作成员变量 name,pailia,oilconsume,speed.均用 private 修饰。定义公共方法点火,熄火,前进, 倒退,鸣笛分别为 fire(),unfire(),go(),back(),whistle(). (2)创建有参构造函数 car(String name,int pailia,int oilconsume,int speed)初始 化属性,创建类事例 car 输出属性和行为。 5.求正方形周长和面积。 (1)建立 Square 类,定义边长为 sl,用 private 修饰。创建方法 grith(

12、)和 are()分别 求周长和面积。 (2)创建有参构造方法 square(int sl),初始化边长,创建圆对象并输出周长和面积。三、实验代码1. 定义圆类 Circle.public class Circle private double radius;/圆的半径private double x;/横坐标private double y;/纵坐标private static int num;/圆的个数private static final double PI = 3.14159;public double getRadius() /返回半径return radius;public voi

13、d setRadius(double radius) /设置半径this.radius = radius;public double calcArea() /计算圆面积return PI*this.radius*this.radius;public double calcGrith() /计算圆周长return 2*PI*this.radius;public static int getNum() /返回圆的个数return num;public Circle()/无参数构造方法num+;public Circle(double radius,double x,double y) /带参数构造

14、方法if (radius 0) System.out.println(“半径不可以为负数!“);else /初始化圆的属性this.radius = radius;this.x = x;this.y = y;num +;public static void main(String args) Circle circle1 = new Circle(10,1,1);/创建对象圆 1Circle circle2 = new Circle(20,1,1); /创建对象圆 2Circle circle3 = new Circle(30,1,1); /创建对象圆 3System.out.print(“圆

15、 1 的半径: “+circle1.getRadius()+“t“);System.out.print(“圆 1 的面积: “+circle1.calcArea()+“t“);System.out.println(“圆 1 的周长: “+circle1.calcGrith();System.out.print(“圆 2 的半径: “+circle2.getRadius()+“t“);System.out.print(“圆 2 的面积: “+circle2.calcArea()+“t“);System.out.println(“圆 2 的周长: “+circle2.calcGrith();Sys

16、tem.out.print(“圆 3 的半径: “+circle3.getRadius()+“t“);System.out.print(“圆 3 的面积: “+circle3.calcArea()+“t“);System.out.println(“圆 3 的周长: “+circle3.calcGrith();System.out.println(“圆的个数: “+Circle.getNum();2. 实现类的继承.class People /父类人protected String name;/姓名protected String sex;/性别protected int age;/年龄protected String getName() /返回姓名return name;protected void setName(String name) /设置姓名this.name=name;protected String getSex() /返回

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 教育/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号