news 2026/4/23 12:14:50

案例 --- 加油站支付小模块(融合继承、多态知识)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
案例 --- 加油站支付小模块(融合继承、多态知识)

案例 — 融合继承、多态

packagecom.itheima.demo;importjava.util.Scanner;publicclassTest{publicstaticvoidmain(String[]args){//1.创建卡片类,以便创建金卡或者银卡对象,封装车主的数据//2.定义一个卡片父类,Card,定义金卡和银卡的共同属性和方法//3.定义一个金卡类,继承Card类,金卡必须重写消费方法(8折优惠),独有功能打印洗车票//4.定义一个银卡类,继承Card类,金卡必须重写消费方法(9折优惠)//5.办一张金卡,创建金卡对象,交给一个独立的业务(支付机)来完成,存款,消费GoldCardgc=newGoldCard("京A88888","小王","13888888888",5000);pay(gc);//6.办一张银卡,创建金卡对象,交给一个独立的业务(支付机)来完成,存款,消费SilverCardsc=newSilverCard("晋A99999","小张","13899999999",2000);pay(sc);}//支付机,用一个方法来刷卡:既可能接收金卡,也可能接收银卡publicstaticvoidpay(Cardc){System.out.println("请刷卡,请您输入当前消费的金额");Scannersc=newScanner(System.in);doublemoney=sc.nextDouble();c.consume(money);}}//=========================================分割线=========================================packagecom.itheima.demo;importlombok.AllArgsConstructor;importlombok.Data;importlombok.NoArgsConstructor;//lombok可以自动为类实现getter、setter方法 无参数构造器,toSpring方法等@Data//@NoArgsConstructor@AllArgsConstructor//添加有参构造器publicclassCard{privateStringcarId;//车牌号码privateStringname;privateStringphone;privatedoublemoney;//余额//预存金额publicvoiddeposit(doublemoney){this.money+=money;}//消费金额publicvoidconsume(doublemoney){this.money-=money;}}//=========================================分割线=========================================packagecom.itheima.demo;publicclassGoldCardextendsCard{publicGoldCard(StringcarId,Stringname,Stringphone,doublemoney){super(carId,name,phone,money);}@Overridepublicvoidconsume(doublemoney){System.out.println("您当前金卡消费:"+money);System.out.println("优惠后的价格:"+money*0.8);//在金卡子类中,可直接调用父类的getMoney(),而在测试类中则必须使用对象.getMoney()才能引用:gc.getMoney()if(getMoney()<=money*0.8){System.out.println("您余额是:"+getMoney()+",当前余额不足,请存钱");return;//干掉方法}//更新金卡的账户余额setMoney(getMoney()-money*0.8);System.out.println("您当前金卡余额是:"+getMoney());if(money*0.8>=200){printTicket();}else{System.out.println("您当前消费不满200,不能免费洗车");}}//打印洗车票publicvoidprintTicket(){System.out.println("您消费了,请打印洗车票");}}//=========================================分割线=========================================packagecom.itheima.demo;publicclassSilverCardextendsCard{publicSilverCard(StringcarId,Stringname,Stringphone,doublemoney){super(carId,name,phone,money);}@Overridepublicvoidconsume(doublemoney){System.out.println("您当前银卡消费:"+money);System.out.println("优惠后的价格:"+money*0.9);if(getMoney()<=money*0.9){System.out.println("您余额是:"+getMoney()+",当前余额不足,请存钱");return;//干掉方法}//更新银卡的账户余额setMoney(getMoney()-money*0.9);System.out.println("您当前银卡余额是:"+getMoney());}}


ps:
//lombok可以自动为类实现getter、setter方法 无参数构造器,toSpring方法等
@Data//
@NoArgsConstructor
@AllArgsConstructor//添加有参构造器
还需点击以上图片Enable按键

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 14:14:03

工业数据孤岛怎么破?Open-AutoGLM模型融合技术让多源数据实时协同

第一章&#xff1a;工业数据孤岛的挑战与Open-AutoGLM的破局使命 在现代工业智能化转型过程中&#xff0c;数据作为核心生产要素&#xff0c;其流动性和可用性直接决定了AI模型的效能。然而&#xff0c;由于设备异构、系统封闭和标准不一&#xff0c;大量工业数据被孤立在不同部…

作者头像 李华
网站建设 2026/4/20 18:21:31

数据孤岛不再!:Open-AutoGLM实现跨部门实时调度的4大关键技术突破

第一章&#xff1a;数据孤岛不再&#xff01;Open-AutoGLM开启智慧城市协同调度新范式在智慧城市建设进程中&#xff0c;交通、能源、环保、医疗等系统长期处于割裂状态&#xff0c;形成严重的数据孤岛。这不仅阻碍了跨部门的高效协同&#xff0c;也极大限制了城市治理的智能化…

作者头像 李华
网站建设 2026/4/16 12:01:50

【医疗AI新突破】:Open-AutoGLM如何实现病历结构化处理准确率超95%

第一章&#xff1a;Open-AutoGLM 电子病历整理辅助在医疗信息化快速发展的背景下&#xff0c;电子病历&#xff08;EMR&#xff09;的自动化处理成为提升临床工作效率的关键环节。Open-AutoGLM 是一个面向医疗场景的开源大语言模型框架&#xff0c;专为结构化与非结构化病历数据…

作者头像 李华
网站建设 2026/4/18 5:49:50

揭秘Open-AutoGLM在农业物联网中的实战应用:5步实现高效边缘推理

第一章&#xff1a;揭秘Open-AutoGLM在农业物联网中的实战应用&#xff1a;5步实现高效边缘推理在农业物联网场景中&#xff0c;实时性与资源受限是边缘设备部署AI模型的主要挑战。Open-AutoGLM作为轻量化大语言模型优化框架&#xff0c;结合知识蒸馏与动态量化技术&#xff0c…

作者头像 李华
网站建设 2026/4/20 19:55:55

FCKEditor插件实现WORD公式粘贴自动转存服务器

吉林码农的"文档导入插件大冒险"&#xff1a;从FCKEditor到全能粘贴王的逆袭之路 第一章&#xff1a;客户爸爸的"核弹级"需求 "老王啊&#xff0c;我们新闻编辑器要加个功能&#xff0c;能直接导入Word/Excel/PPT/PDF&#xff0c;还要保留所有样式和公…

作者头像 李华