JAVA实验报告圆类Word文档格式.docx

上传人:b****7 文档编号:22181864 上传时间:2023-02-02 格式:DOCX 页数:19 大小:78.08KB
下载 相关 举报
JAVA实验报告圆类Word文档格式.docx_第1页
第1页 / 共19页
JAVA实验报告圆类Word文档格式.docx_第2页
第2页 / 共19页
JAVA实验报告圆类Word文档格式.docx_第3页
第3页 / 共19页
JAVA实验报告圆类Word文档格式.docx_第4页
第4页 / 共19页
JAVA实验报告圆类Word文档格式.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

JAVA实验报告圆类Word文档格式.docx

《JAVA实验报告圆类Word文档格式.docx》由会员分享,可在线阅读,更多相关《JAVA实验报告圆类Word文档格式.docx(19页珍藏版)》请在冰豆网上搜索。

JAVA实验报告圆类Word文档格式.docx

(3)编程在测试类中输出一个正方形的周长和面积

二、实验原理(可以流程图的形式出现,加以文字说明)

1.定义圆类Circle.

(1)抽象出Circle类包含成员变量radius、x和y,它们的类型均为double,代表了圆的半径和坐标属性。

成员方法setRadius()、getRadius()、calcArea()、calcGirth(),分别实现设置半径、返回半径、计算面积、计算周长的行为。

其中setRadius()方法用于给半径赋值没有返回值,类型为void。

calcArea()、calcGirth()、getRadius()方法用于计算和返回半径值,类型为double。

(2)声明用于保存圆数量的成员变量num,由Circle类创建任意圆对象时num值均要加1。

num变量应该是被所有圆对象共享,所以使用static关键字声明num为静态变量。

使用static声明静态方法getNum()用来返回num值,返回类型为int。

具体声明语句为:

privatestaticintnum;

publicstaticintgetNum(){returnnum;

}

(3)使用staticfinal关键字声明静态的符号常量PI(符号常量通常定义为大写字母),并给其赋值为3.14159,该常量可以被所有Cirlce类的圆对象使用,具体声明语句为:

publicstaticfinaldoublePI=3.14159;

(4)定义两个构造方法,一个无参的构造方法和一个带参数构造方法,其中带参构造。

无参构造,radius传递给圆对象的成员变量r方法对圆对象进行初始化,将参数.

方法则不初始任何变量。

若需要在圆对象被创建时将圆的数量num增加,可以在构造方法里对num变量进行增加。

(5)程序的入口方法main,在该方法中实例化若干个圆对象,并调用该对象的setRadius()、getRadius()、calcArea()、calcGirth()、getNum()方法来输出该对象的半径、周长、面积属性及圆个数。

2.实现类的继承.

(1)人类是学生类的父类,人类具有姓名,性别,年龄等性质,学生类是人类的子类也具有如上性质,并且学生类还具有学号这一特性。

所以人所具有的共性都封装在人类这一父类中,学生类不但继承了人类的共性还具有自己的特有属性学号。

人类中具有了吃和说的行为,学生也继承了这些行为,并且学生还具有了学习这一行为。

根据以上分析定义两个类People和Student,People类包括成员变量name、sex、age属性,成员方法eat()和speek()。

其中name、sex、age属性的访问控制符定义为protected,protected修饰的成员可以被本包中的类以及其子类继承访问。

eat()、speek()方法的访问控制符定义为public,public修饰的方法其访问权限最大可以被所有类访问。

(2)使用extends关键字实现继承,学生类继承人类共有的属性和方法,此外具有stuNo学号属性和learn()学习方法。

(3)父类People中定义的构造方法负责对name、sex、age变量初始化,子类Student中定义构造方法继承父类构造并对stuNo属性初始化。

在Student类的构造方法的第一句使用super(name,sex,age)语句显式调用父类构造,保证父类构造被调用之后再调用子类构造。

(4)编写程序的入口方法main,在该方法中实例化人类对象和学生对象,并调用对象的相应方法输出信息。

3.描述动物世界的特征和关系.

Animal

PandaMouse

eatsleepdig

(1)动物世界的名字和食物是共有的属性,吃和睡觉是共有的行为。

定义Animal类,在该类中定义成员变量name和food,成员方法eat()和sleep()。

根据封装性的要求将name和food属性定义为private私有的,保证该属性只能被在本类内部访问,其他类或派生类要访问该属性可以通过public公有的方法setName()、getName()、setFood()、getFood()进行访问,其中setXXX()方法用于给属性赋值,getXXX()方法用于返回属性。

(2)定义老鼠类Mouse和熊猫类Panda,这两类均继承自Animal类,继承动物类的name和food属性以及eat()和sleep()方法。

Mouse类和Panda类在构造方法中调用setName()和setFood()方法对名称和食物属性初始化。

输出信息。

dig()老鼠类定义打洞方法(3).

(4)定义测试类AnimalTest,编写程序入口main()方法,在该方法中创建老鼠和熊猫对象,调用相应方法输出信息。

4.汽车的属性和行为。

(1)建立汽车类Car,汽车属性:

名字,排量,油耗,时速分别记作成员变量name,pailia,oilconsume,speed.均用private修饰。

定义公共方法点火,熄火,前进,倒退,鸣笛分别为fire(),unfire(),go(),back(),whistle().

(2)创建有参构造函数car(Stringname,intpailia,intoilconsume,intspeed)初始化属性,创建类事例car输出属性和行为。

5.求正方形周长和面积。

(1)建立Square类,定义边长为sl,用private修饰。

创建方法grith()和are()分别求周长和面积。

(2)创建有参构造方法square(intsl),初始化边长,创建圆对象并输出周长和面积。

三、实验代码

publicclassCircle{

privatedoubleradius;

//圆的半径

privatedoublex;

//横坐标

privatedoubley;

//纵坐标

//圆的个数

privatestaticfinaldoublePI=3.14159;

返回半径publicdoublegetRadius(){//

returnradius;

publicvoidsetRadius(doubleradius){//设置半径

this.radius=radius;

计算圆面积publicdoublecalcArea(){//

returnPI*this.radius*this.radius;

计算圆周长publicdoublecalcGrith(){//

return2*PI*this.radius;

publicstaticintgetNum(){//返回圆的个数

returnnum;

}

publicCircle(){//无参数构造方法

num++;

publicCircle(doubleradius,doublex,doubley){//带参数构造方法if(radius<

0){

);

半径不可以为负数!

祓瑳浥漮瑵瀮楲瑮湬尨

else{//初始化圆的属性

this.x=x;

this.y=y;

num++;

publicstaticvoidmain(String[]args){

Circlecircle1=newCircle(10,1,1);

//创建对象圆1

Circlecircle2=newCircle(20,1,1);

//创建对象圆2

Circlecircle3=newCircle(30,1,1);

//创建对象圆3

祓瑳浥漮瑵瀮楲瑮尨圆1的半径:

+circle1.getRadius()+\);

祓瑳浥漮瑵瀮楲瑮尨圆1的面积:

+circle1.calcArea()+\);

祓瑳浥漮瑵瀮楲瑮湬尨圆1的周长:

+circle1.calcGrith());

祓瑳浥漮瑵瀮楲瑮尨圆2的半径:

+circle2.getRadius()+\);

祓瑳浥漮瑵瀮楲瑮尨圆2的面积:

+circle2.calcArea()+\);

祓瑳浥漮瑵瀮楲瑮湬尨圆2的周长:

+circle2.calcGrith());

祓瑳浥漮瑵瀮楲瑮尨圆3的半径:

+circle3.getRadius()+\);

+circle3.calcArea()+\);

的面积:

3圆祓瑳浥漮瑵瀮楲瑮尨

祓瑳浥漮瑵瀮楲瑮湬尨圆3的周长:

+circle3.calcGrith());

祓瑳浥漮瑵瀮楲瑮湬尨圆的个数:

+Circle.getNum());

classPeople{//父类——人

protectedStringname;

//姓名

protectedStringsex;

//性别

protectedintage;

//年龄

protectedStringgetName(){//返回姓名

returnname;

设置姓名protectedvoidsetName(Stringname){//this.name=name;

protectedStringgetSex(){//返回性别returnsex;

protectedvoidsetSex(Stringsex){//设置性别this.sex=sex;

protectedintgetAge(){//返回年龄

returnage;

设置年龄protectedvoidsetAge(intage){//this.age=age;

publicstaticvoideat(){//吃我在吃饭祓瑳浥漮瑵瀮楲瑮尨!

);

publicstaticvoidspeak(){//说话);

祓瑳浥漮瑵瀮楲瑮尨我在说话!

publicPeople(Stringname,Stringsex,intage){//初始化共有属性

this.name=name;

this.sex=sex;

this.age=age;

子类——学生classStudentextendsPeople{//

protectedlongstuNo;

//学号

protectedlonggetStuNo(){//返回学号

returnstuNo;

设置学号protectedvoidsetStuNo(longstuNo){//this.stuNo=stuNo;

publicstaticvoidlearn(){//学习方法);

祓瑳浥漮瑵瀮楲瑮湬尨我的学习方法!

构造方法publicStudent(Stringname,Stringsex,intage,longstuNo){//super(name,sex,age);

this.stuNo=stuNo;

publicclassTestPeople{//测试类

publicstaticvoidmain(String[]args){

瑓摵湥?

瑳摵湥?

?

敮?

张一飞?

男,18,13130001);

祓瑳浥漮瑵瀮楲瑮尨姓名:

+student.getName()+);

+student.getSex()+);

性别:

祓瑳浥漮瑵瀮楲瑮尨

祓瑳浥漮瑵瀮楲瑮尨年龄:

+student.getAge()+);

祓瑳浥漮瑵瀮楲瑮尨学号:

+student.getStuNo()+);

People.eat();

//吃

People.speak();

//说话

Student.learn();

//学习方法

classAnimal{//动物类

privateStringname;

//名字

privateStringfood;

//食物

publicStringgetName(){//返回名字

publicvoidsetName(Stringname){//设置名字this.name=name;

publicStringgetFood(){//返回食物returnfood;

设置食物publicvoidsetFood(Stringfood){//

this.food=food;

publicstaticvoidEat(){//吃

祓瑳浥漮瑵瀮楲瑮尨我在吃饭);

publicstaticvoidSleep(){//睡觉

祓瑳浥漮瑵瀮楲瑮尨我在睡觉

publicAnimal(Stringname,Stringfood){//构造方法this.name=name;

this.food=food;

classMouseextendsAnimal{//老鼠类

publicMouse(Stringname,Stringfood){//构造方法

super(name,food);

publicstaticvoiddig(){//打洞);

我在打洞祓瑳浥漮瑵瀮楲瑮湬尨}

classPandaextendsAnimal{//熊猫类

publicPanda(Stringname,Stringfood){//构造方法

测试类publicclassAnimalTest{//

publicstaticvoidmain(Stringargs[]){

实例化熊猫慐摮?

慰摮?

慐摮?

熊猫?

竹叶);

//+panda.getName()+\);

祓瑳浥漮瑵瀮楲瑮尨名字:

+panda.getFood()+\);

祓瑳浥漮瑵瀮楲瑮湬尨食物:

Panda.Eat();

//吃

睡觉Panda.Sleep();

//System.out.println();

大米);

//实例化老鼠潍獵?

潭獵?

潍獵?

老鼠?

+mouse.getName()+\);

名字:

祓瑳浥漮瑵瀮楲瑮尨+mouse.getFood()+\);

祓瑳浥漮瑵瀮楲瑮尨食物:

吃Mouse.Eat();

//Mouse.Sleep();

//睡觉打洞Mouse.dig();

//

4.汽车的基本属性和行为.

publicclassCar{//汽车类

//定义名字

privateintpailia;

//定义排量

privateintoilconsume;

//定义油耗

privateintspeed;

//定义时速

publicStringgetName(){//返回名字

设置名字publicvoidsetName(Stringname){//

this.name=name;

返回排量publicintgetPailia(){//returnpailia;

publicvoidsetPailia(intpailia){//设置排量this.pailia=pailia;

返回油耗publicintgetOilconsume(){//

returnoilconsume;

publicvoidsetOilconsume(intoilconsume){//设置油耗

this.oilconsume=oilconsume;

publicintgetSpeed(){//返回时速returnspeed;

设置时速publicvoidsetSpeed(intspeed){//this.speed=speed;

publicstaticvoidfire(){//点火

点火!

祓瑳浥漮瑵瀮楲瑮尨}

publicstaticvoidoutfire(){//熄火);

熄火!

publicstaticvoidgo(){//前进);

前进!

publicstaticvoidback(){//倒退

倒退!

publicstaticvoidwhistle(){//鸣笛

鸣笛!

祓瑳浥漮瑵瀮楲瑮尨}

publicCar(Stringname,intpailia,intoilconsume,intspeed){//构造方法

=name;

this.name

this.pailia=pailia;

this.oilconsume=oilconsume;

this.speed=speed;

Publicstaticvoidmain(Stringargs[]){

宝马慃?

慣?

慃?

100,50,100);

//实例化一个汽车);

汽车的属性:

System.out.println();

+car.getName()+\);

汽车品牌:

祓瑳浥漮瑵瀮楲瑮尨+car.getPailia()+ml+\);

祓瑳浥漮瑵瀮楲瑮尨排量:

+car.getOilconsume()+ml/h+\);

油耗:

祓瑳浥漮瑵瀮楲瑮尨

+car.getSpeed()+km/h);

祓瑳浥漮瑵瀮楲瑮湬尨时速:

祓瑳浥漮瑵瀮楲瑮湬尨汽车的行为:

Car.fire();

//点火

Car.outfire();

//熄火

Car.go();

//前进

Car.back();

//倒退

Car.whistle();

//鸣笛

5.求正方形的周长和面积.

classSqure{//定义正方形类

privateintsl;

//定义边长

publicintgetSl(){//返回边长

returnsl;

设置边长publicvoidsetSl(intsl){//this.sl=sl;

publicintgrith(){//求周长

return4*this.sl;

publicintarea(){//求面积returnthis.sl*this.sl;

publicSqure(intsl){//构造方法

this.sl=sl;

publicclassTest{//测试类

publicstaticvoidmain(Stringargs[]){

Squres=newSqure(5);

+s.grith()+\);

敧却?

屜瑜?

周长:

方祓瑳浥漮瑵瀮楲瑮尨正形边长:

+s.area());

面积祓瑳浥漮瑵瀮楲瑮湬尨}

四、实验过程原始记录(数据、图表、计算等)注:

此次报告没有相关数据,实验过程详见第二部分实验原理。

五、实验结果及分析,以及心得体会Circle.

定义圆类1.

心得体会:

主要是构建3个对象,操作过程中,老是出现3个圆对象结果相同的情况,反复上机测试才发现是成员变量中的radius,应该用this.radius才能获取到。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1