Test.java
package com.itheima.demo;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
//加油站支付小程序
//创建卡片类
//定义卡片父类Card
//定义金卡类
GoldCard goldCard = new GoldCard("陕AW256","张三","123456789",5000);
pay(goldCard);
SilverCard silverCard = new SilverCard("陕DSW258","张q","888888889",2000);
pay(silverCard);
}
public static void pay(Card c){
System.out.println("请刷卡,输入消费金额:");
Scanner sc=new Scanner(System.in);
double money=sc.nextDouble();
c.consume(money);
}
}
silvercard.java
package com.itheima.demo;
public class SilverCard extends Card {
public SilverCard(String card, String name, String phone, double money) {
super(card, name, phone, money);
}
public void consume(double money) {
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);
}
}
Goldcard.java
package com.itheima.demo;
public class GoldCard extends Card{
public GoldCard(String card, String name, String phone, double money) {
super(card,name,phone,money);
}
public void consume(double money){
System.out.println("当前金卡消费:"+money);
System.out.println("优惠后是:"+money*0.8);
if(getMoney()<money*0.8){
System.out.println("你的余额不足:"+getMoney()+"消费失败");
return;
}
//更新的余额
setMoney(getMoney()-money*0.8);
if(money*0.8>=200){
printTicket();
}else
{
System.out.println("你消费不够200");
}
}
//打印洗车票
public void printTicket(){
System.out.println("你消费了,请打印洗车票");
}
}
Card.java
package com.itheima.demo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
//自动添加get,set方法
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Card {
private String cardId;
private String Name;
private String phone;
private double money;
//预存金额
public void deposit(double money){
this.money+=money;
}
//消费金额
public void consume(double money){
this.money-=money;
}
}