1 package oo.day05;
 2 
 3 
 4 
 5 
 6 
 7 public interface UnionPayABC{
 8     
 9      //查询余额
10    double getBalance();    
11  //取钱
12    boolean drawMoney(double number);
13  //检查密码
14    boolean checkPwd(String input);
15 }
16 
17 
18 
19 interface ABC extends UnionPayABC {
20    //增加透支功能
21    public boolean payTelBill(String phoneNum,double sum);
22 }
23 
24 //农行卡
25 class ABCImpl implements ABC{
26     
27      String pwd;
28      double balance; 
29      ABCImpl(String pwd,double balance){
30          
31          this.balance=balance;
32          this.pwd = pwd;
33      }
34      
35 
36     @Override
37     public boolean payTelBill(String phoneNum, double sum) {
38         return false;
39     }
40 
41     @Override
42     public boolean checkPwd(String input) {
43       if(pwd.equals("input")){
44             
45             return true;
46         }
47       else
48           return false;
49     }
50 
51     @Override
52     public boolean drawMoney(double number) {
53         if((balance-number)>-2000){
54             balance -= number;
55             return true;
56         }
57         else
58         return false;
59     }
60 
61     @Override
62     public double getBalance() {
63         return balance;
64     } 
65 }
 1 package oo.day05;
 2 
 3 
 4 public interface UnionPayICBC{
 5     
 6      //查询余额
 7     double getBalance();    
 8   //取钱
 9     boolean drawMoney(double number);
10   //检查密码
11     boolean checkPwd(String input);
12 }
13 
14 interface ICBC extends UnionPayICBC{
15     //增加的在线支付功能
16     public void payOnline(double number);
17     
18  
19 }
20 
21 
22 
23 //工商卡
24 class ICBCImpl implements ICBC{
25     
26     private String pwd;
27     private double balance;
28     
29     ICBCImpl(String pwd,double balance){    
30         this.balance=balance;
31         this.pwd = pwd;
32     }
33     
34 
35     public void payOnline(double number) {    
36         
37 
38         if(number<balance){
39             
40             balance-=number;
41         }
42     }
43 
44     @Override
45     public boolean checkPwd(String input) {
46         if(pwd.equals("input")){
47             
48             return true;
49         }
50         else
51         return false;
52     }
53 
54     @Override
55     public boolean drawMoney(double number) {
56         
57         if(number<balance){
58             
59             balance-=number;
60             return true;
61         }
62         else
63         return false;
64     }
65 
66     @Override
67     public double getBalance() {
68         
69         
70         return balance;
71     }
72 }  
 1 package oo.day05;
 2 
 3 import java.util.Scanner; 
 4 
 5 public class UnionPayText {
 6 
 7     
 8     public static void main(String[] args) {
 9         /*
10         UnionPayICBC icbc = new ICBCImpl("123456",3000);
11         
12         Scanner scan =new Scanner(System.in);
13         System.out.println("请输入密码:");
14         
15         String input = scan.next(); 
16         boolean str= icbc.checkPwd(input);
17         System.out.println("请输入金额:");
18         
19         double number = scan.nextInt();
20         
21         //icbc.payOnline(100);
22         
23         if(icbc.drawMoney(number)){
24             
25             System.out.println("取钱成功,卡上余额为:"+icbc.getBalance());
26             
27         }*/
28             
29             
30             
31 
32             UnionPayABC abc = new ABCImpl("123456",3000);
33             
34             Scanner scann =new Scanner(System.in);
35             System.out.println("请输入密码:");
36             
37             String inp = scann.next(); 
38             boolean str1= abc.checkPwd(inp);
39             System.out.println("请输入金额:");
40             
41             double number1 = scann.nextInt();
42             
43             //icbc.payOnline(100);
44             
45             if(abc.drawMoney(number1)){
46                 
47                 System.out.println("取钱成功,卡上余额为:"+abc.getBalance());
48             
49         }
50          
51     }
52 
53     }
54 
55 
56 
57 
58 
59 
60 
61 
62 
63 
64 
65  
66