前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Java】接口多态练习题

【Java】接口多态练习题

作者头像
陶然同学
发布2023-02-24 13:57:38
3640
发布2023-02-24 13:57:38
举报
文章被收录于专栏:陶然同学博客

设计一个USB接口,USB接口拥有启动和停止方法,网卡类实现USB接口,重写实现网卡启动停止方法 声卡类实现USB接口,重写实现声卡启动和停止方法, 主板类拥有使用USB接口的方法。方法接收USB接口类型或子类型,方法中可以启动对应实现类的方法。 根据上要求编写代码,保证下列main方法打印如下结果:

public class Demo {     public static void main(String [] args){         //创建主板对象         MainBoard mb=new MainBoard();            //创建网卡对象         NetworkCard nc=new NetworkCard();         //启动网卡         mb.startPCICard(nc);         //停止网卡         mb.stopPCICard(nc);          //创建声卡对象         SoundCard sc=new SoundCard();           //启动声卡             mb.startPCICard(sc);          //停止声卡             mb.stopPCICard(sc);        } }

网卡启动 ... 网卡停止... 声卡启动... 声卡停止...

参考答案: —————————————————————————————————————————————————————————————————————— public class Demo {     public static void main(String [] args){         MainBoard mb=new MainBoard();       //创建主板对象         NetworkCard nc=new NetworkCard();   //创建网卡对象         mb.startPCICard(nc); //启动网卡         mb.stopPCICard(nc);      //停止网卡         SoundCard sc=new SoundCard();       //创建声卡对象         mb.startPCICard(sc);  //启动声卡         mb.stopPCICard(sc);   //停止声卡     } }

interface USB    //PCI接口 {     void start();     void stop(); } class NetworkCard implements USB {   //网卡继承PIC接口     public void start(){         System.out.println("网卡启动 ...");     }     public void stop(){         System.out.println("网卡停止...");     } }

class SoundCard implements USB     //声卡继承PIC接口 {     public void start(){         System.out.println("声卡启动...");     }     public void stop(){         System.out.println("声卡停止...");     } } class MainBoard{                  //主板     public void startPCICard(USB p){         p.start();     }     public void stopPCICard(USB p){         p.stop();     } } —————————————————————————————————————————————————————————————————— 汽车租赁 某汽车租赁公司出租多种车辆,车辆信息包括:车牌号、品牌、颜色、租金。 出租价格如下:  * 别克商务: 600元/天  * 宝马550i: 500元/天  * 别克林荫大道: 300元/天  * 客车16座以下: 800元/天  * 客车>=16座: 1500元/天

定义租赁抽象类Reckon用于计算租金:     * 接口中有如下属性:车牌号、品牌、颜色、租金、出租时间(当前毫秒值)     * 接口中定义计算租金的方法money,方法接收Reckon以及子类类型。可以计算租金并返回。 定义轿车Car类,继承Reckon。     * 拥有属性:使用天数 Integer days,提供get/set方法     * 提供构造方法,可以初始化Car对象的车牌号、品牌、颜色、租金、出租时间     * 重写接口money方法,根据小汽车的品牌和租用天数计算租金并返回租金。

定义客车Bus类,继承Reckon。     * 拥有属性:1.使用天数 Integer days,提供get/set方法                 2.成员人数 Integer num,提供get/set方法     * 提供构造方法,可以初始化Bus对象的车牌号、品牌、颜色、租金、出租时间     * 重写接口money方法,根据客车的载客量范围和租用天数计算租金并返回租金。

定义一个客户Person类:     *拥有属性:金额 Integer money      *学生自己设计属性,表示出客户可以租用多种车型。     *提供属性的get/set方法

创建测试类:     1. main方法中创建一个客户Person,初始化拥有的金额,假设为10000,     2. main方法中该客户可以多次租车:         * 控制台打印要租车的类型,接收要租车的天数         * 根据选择创建对应的车型对象,并讲该对象与客户绑定关系(客户对象可以通过get方法获取到该车)。         * 每租一辆车要打印当前剩余的金额         * 当客户的金额不足时退出租车服务。         * 或者当客户输入的是0时,退出服务         * 将客户所组的车保存到项目下的dir目录下的history.txt文件中

    注意事项:同一车型,数据只要一条,例如租了2次宝马550i,则保存的是     京A88888,,宝马550i,红色,21412341232,2辆 拓展:     思考如何创建一个租赁公司类有20辆车,车可以借出给不同客户,客户可以归还汽车。     将租出的车数据保存到文件中,     读取文件中的租车数据,计算租赁公司的的收入。 欢迎来到租赁中心! 钱数是:10000 请输入租赁的类型:1.轿车 2.客车 2 请输入租赁天数 10 请输入要乘坐人数:16人以下800/天,16人(含)以上1500/天 10 钱数是:2000 ---------------------------- 请输入租赁的类型:1.轿车 2.客车 1 请输入租赁天数 3 请输入要租赁的车型      1.别克商务 600元/天     2.宝马550i 500元/天     3.别克林荫大道 300元/天 1 钱数是:200 ---------------------------- 请输入租赁的类型:1.轿车 2.客车 1 请输入租赁天数 1 请输入要租赁的车型      1.别克商务 600元/天     2.宝马550i 500元/天     3.别克林荫大道 300元/天 1 租金不足,还剩下200 ---------------------------- 请输入租赁的类型:1.轿车 2.客车 0 服务结束

_________________________________________________________

创建人类Person,人类拥有属性:姓名name,年龄age,生日birthday,属性都私有。     * 提供属性的get/set方法     * 提供无参和满参构造方法 创建子类教师类Teacher,继承Person类。 创建子类厨师类Chef,继承Person类。

创建测试类,读取source.txt中的文件,     1.数据读取(思考如何把数据放入ArrayList集合 或者 HashMap结合如何操作)         * 在mian方法中将每条数据封装进对应类对象中,例如第一条是厨师,则将数据封装进厨师Chef类。         * 将所有对象保存进一个集合中。     2.数据判断(思考如果把数据放入ArrayList集合 或者 HashMap结合如何操作)         * 创建方法total,接收main方法中的对象集合,方法中统计每种对象的数量,打印统计结果如下:             厨师:2人             教师:3人 source.txt 曹操,35,1990年10月,厨师 司马懿,32,1989年12月,教师 孙权,40,1982年05月,厨师 诸葛亮,28,1996年2月,教师 周瑜,29,1991年11月,教师

——————————————————————————————————————————————————————————

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档