面向对象基础-参考答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

一、【必做题】1.(1)定义一个人类Person:1)定义一个方法sayHello(),可以向对方发出问候语“hello,mynameisXXX”2)有三个属性:名字、身高、体重(2)定义一个PersonCreate类:1)创建两个对象,分别是zhangsan,33岁,1.73;lishi,44,1.742)分别调用对象的sayHello()方法。(答案:Person.java、PersonCreate.java)2.(1)定义一个人类Person:1)定义一个方法sayHello(),可以向对方发出问候语“hello,mynameisXXX”2)有三个属性:名字、身高、体重3)通过构造方法,分别给三个属性赋值(2)定义一个Constructor类:1)创建两个对象,分别是zhangsan,33岁,1.73;lishi,44,1.742)分别调用对象的sayHello()方法。(答案:Constructor.java、或者是Person3.java)3.(1)定义一个矩形类Rectangle:1)定义三个方法:getArea()求面积、getPer()求周长,showAll()分别在控制台输出长、宽、面积、周长。2)有2个属性:长length、宽width3)通过构造方法Rectangle(intwidth,intlength),分别给两个属性赋值(答案:Rectangle.java)4.定义一个点类Point,包含2个成员变量x、y分别表示x和y坐标,2个构造器Point()和Point(intx0,y0),以及一个movePoint(intdx,intdy)方法实现点的位置移动。()publicclassPoint{privateintx0;privateinty0;publicPoint(){}publicPoint(intx0,inty0){this.x0=x0;this.y0=y0;}publicvoidmovePoint(intdx,intdy){this.x0=this.x0+dx;this.y0=this.y0+dy;}}5.编写一个程序,创建两个Point对象p1、p2,分别调研movePoint方法后,打印p1和p2的坐标。publicclassPoint{privateintx0;privateinty0;publicPoint(){}publicPoint(intx0,inty0){this.x0=x0;this.y0=y0;}publicvoidmovePoint(intdx,intdy){this.x0=this.x0+dx;this.y0=this.y0+dy;}}6.(1)定义一个动物类Creature1)定义一个方法setSnarl(Catcat)可以设置动物发出猫的声音2)setSnarl(Dogdog)可以设置动物发出狗的声音3)定义一个outPut()方法,可以输出动物的声音(2)要求定义一个猫类Cat,具有猫的声音,将猫类传入动物类Creature的吼叫方法setSnarl(Catcat)可以设置动物发出猫的声音(3)要求定义一个狗类Dog,具有狗的声音,将狗类传入动物类Creature的吼叫方法setSnarlDogdog)可以设置动物发出狗的声音(4)定义一个Sound类,在main方法里调用Creature类的setSnarl()和outPut()方法分别设置动物的声音和输出动物的声音效果显示:7.定义一个圆类Circle,描述圆对象。圆有一个属性radius表示半径,还有一个findArea方法用于计算圆的面积。定义一个测试类。给半径赋值为5,并且输出圆的面积。}8、定义一个笔记本类,该类有颜色(char)和cpu型号(int)两个属性。(1)无参和有参的两个构造方法;有参构造方法可以在创建对象的同时为每个属性赋值;(2)输出笔记本信息的方法然后编写一个测试类,测试笔记本类的各个方法。publicclassComputeTest{publicstaticvoidmain(String[]args){Computerc1=newComputer();c1.showComputer();Computerc2=newComputer('红',32);c2.showComputer();}}classComputer{privatecharcolor;privateintcpuNum;publicComputer(){}publicComputer(charcolor,intcpuNum){this.color=color;this.cpuNum=cpuNum;}publicchargetColor(){returncolor;}publicvoidsetColor(charcolor){this.color=color;}publicintgetCpuNum(){returncpuNum;}publicvoidsetCpuNum(intcpuNum){this.cpuNum=cpuNum;}publicvoidshowComputer(){System.out.println(笔记本的颜色:+getColor());System.out.println(笔记本的CPU型号:+getCpuNum());}}9.定义一个汽车类Vehicle,要求如下:(1)属性包括:汽车品牌brand(String类型)、颜色color(String类型)和速度speed(double类型),并且所有属性为私有。(2)至少提供一个有参的构造方法(要求品牌和颜色可以初始化为任意值,但速度的初始值必须为0)。(3)为私有属性提供访问器方法。注意:汽车品牌一旦初始化之后不能修改。(4)定义一个一般方法run(),用打印语句描述汽车奔跑的功能定义测试类VehicleTest,在其main方法中创建一个品牌为“benz”、颜色为“black”的汽车。publicclassVehicle{privateStringbrand;privateStringcolor;privatedoublespeed;Vehicle(){}Vehicle(Stringbrand,Stringcolor){this.brand=brand;this.color=color;speed=0;}publicStringgetColor(){returncolor;}publicvoidsetColor(Stringcolor){this.color=color;}publicdoublegetSpeed(){returnspeed;}publicvoidsetSpeed(doublespeed){this.speed=speed;}publicvoidrun(){System.out.println(getColor()+的+getBrand()+的速度是+getSpeed());}publicStringgetBrand(){returnbrand;}10.定义一个时间类,提供设定时间和显示时间的方法,其中设定时间的方法需要校验数据的正确性,并在main方法中验证。11.设计BOOK类,包括ISBN号(string)、书名(string)、作者(string)以及表示是否已借出的成员(bool)。创建返回这些成员的访问方法,以及借书还书的方法。12、为图书馆创建一个Patron类,包括读者姓名、图书证号以及借阅费用(如果欠费的话)。创建设定借书费的方法。定义一个方法,返回一个布尔值,表示读者是否欠费。publicclassPatron{privateStringname;privateStringbookNum;privatedoublemoney;publicPatron(Stringname,StringbookNum,doublemoney){this.name=name;this.bookNum=bookNum;this.money=money;}publicbooleanisOver(){returnmoney0?true:false;}}二、【选做题】1、(1)编写一个时间类MyTime,包含一个构造方法,3个私有成员变量hour,minute,second以及与它们相对应的get与set方法(如hour有getHour和setHour方法,分别表示获得和设置hour),再加上一个转换成字符串的方法toString。(2)编写一个日期类MyDate,包含一个构造方法,3个私有成员变量year,month,day以及与它们相对应的get与set方法,再加上一个转换成字符串的方法toString。(3)编写一个FullTime类,包含一个MyTime类型的私有成员变量time和一个MyDate类型的成员变量date,以及与它们相对应的get与set方法,一个构造方法,再加上一个转换成字符串的方法toString。(4)假设当前时间是2002年7月30日22点12分35秒,编写一个程序,用FullTime类设置时间为以上时间,并打印。publicclassMytimeTest{publicstaticvoidmain(String[]args){MyTimemyTime=newMyTime();myTime.setHour(20);myTime.setMinute(20);myTime.setSecond(18);MyDatemyDate=newMyDate();myDate.setYear(2012);myDate.setMonth(4);myDate.setDay(10);System.out.println(myDate.toString()+myTime.toString());}}classMyTime{privateinthour;privateintminute;privateintsecond;publicintgetHour(){returnhour;}publicvoidsetHour(inthour){this.hour=hour;}publicintgetMinute(){returnminute;}publicvoidsetMinute(intminute){this.minute=minute;}publicintgetSecond(){returnsecond;}publicvoidsetSecond(intsecond){this.second=second;}@OverridepublicStringtoString(){returnhour+点+minute+分+second+秒;}}classMyDate{privateintyear;privateintmonth;privateintday;publicintgetYear(){returnyear;}publicvoidsetYear(intyear){this.year=year;}publicintgetMonth(){returnmonth;}publicvoidsetMonth(intmonth){this.month=month;}publicintgetDay(){returnday;}publicvoidsetDay(intday){this.day=day;}@OverridepublicStringtoString(){returnyear+年+month+月+day+日;}}2、设计一个类Student,该类包括姓名、学号和成绩。设计一个方法,按照成绩从高到低的顺序输出姓名、学号和成绩信息。publicclassStudent{privateStringname;privateStringnumber;privateintscore;publicStudent(){}publicStudent(Stringname,Stringnumber,intscore){this.name=name;this

1 / 9
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功