欢迎来到天天文库
浏览记录
ID:9339482
大小:49.00 KB
页数:5页
时间:2018-04-28
《实验4 接口和内部类》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验四接口和内部类一、实验目的:熟悉JAVA中的接口、内部类、匿名类、异常类的概念及用法。二、实验要求:1.设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声,要求如下:l编写接口AnimalAnimal接口有2个抽象方法cry()和getAnimalName(),即要求实现该接口的各种具体的动物给出自己的叫声和种类名称。l编写模拟器类Simulator该类有一个playSound(Animalanimal)方法,该方法的参数是Animal类型。即参数animal可以调用实现Animal接口类重写的cry()方法播放
2、具体动物的声音,调用重写的getAnimalName()方法显示动物种类的名称。l编写实现Animal接口的类:Dog和Cat类各类的UML图如下所示:AnimalplaySound(Animal):voidSimulatorcry():voidgetAnimalName():StringCatDogStringname;Stringname;cry():voidgetAnimalName():Stringcry():voidgetAnimalName():String在各类中通过构造方法实现对成员变量的初始化。l编写主类Ap
3、plication(用户程序)在主类Application的main方法中至少包含如下代码。Simulatorsimulator=newSimulator();simulator.playSound(newDog(“藏獒”));simulator.playSound(newCat(“加菲猫”));2.评价成绩:体操比赛计算选手成绩的办法是去掉一个最高分和最低分后再计算平均分,而学校考察一个班级的某科目的考试情况时,是计算全班同学的平均成绩。Gymnastics类和School类都实现了接口ComputerAverage接口,但
4、实现的算法不同。编写Java程序实现以上功能。3.货车的装载量:货车要装载一批货物,货物由三种商品组成:电视、计算机和洗衣机。卡车需要计算出整批货物的重量。要求有一个ComputeGoodsWeight接口,该接口中有一个方法:publicdoublecomputeWeight()有三个实现该接口的类:Television、Computer和WashMachine。这三个类通过实现接口的computeWeight()方法给出自重。有一个Truck类,该类用ComputeGoodsWeight接口类型的数组作为成员(Truck类
5、面向接口),那么该数组的单元就可以存放Television对象的引用、Computer对象的引用或WashMachine对象的引用。程序能输出Truck对象所装载的货物的总重量。4.手机专卖店为了促销自己的产品,决定发行内部购物券,但其他商场不能发行该购物券。编写一个MobileShop类(模拟手机专卖店),该类中有一个名字为InnerPurchaseMoney的内部类(模拟内部购物券)。程序模板:请按模板要求,将代码替换为Java程序代码。NewYear.javaclassMobileShop{代码1//用内部类InnerP
6、urchaseMoney声明对象purchaseMoney1代码2//用内部类InnerPurchaseMoney声明对象purchaseMoney2privateintmobileAmount;//手机数量MobileShop(){代码3//创建价值为20000的purchaseMoney1代码4//创建价值为10000的purchaseMoney2}voidsetMobileAmount(intm){mobileAmount=m;}intgetMobileAmount(){returnmobileAmount;}class
7、InnerPurchaseMoney{intmoneyValue;InnerPurchaseMoney(intm){moneyValue=m;}voidbuyMobile(){if(moneyValue>=20000){mobileAmount=mobileAmount-6;System.out.println(“用价值”+moneyValue+”的内部购物券买了3部手机”);}elseif(moneyValue<20000&&moneyValue>=10000){mobileAmount=mobileAmount-3;Sys
8、tem.out.println(“用价值”+moneyValue+”的内部购物券买了3部手机”);}}}publicclassNewYear{publicstaticvoidmain(Stringargs[]){MobileShopshop=newMobileShop();s
此文档下载收益归作者所有