学习笔记 多态案例练习 模拟支付接口

需求描述:

某网站需要开发一个支付功能,需要支持多种支付方式
(支付平台支付、银行卡网银支付、信用卡快捷支付),如下所示:

一、先写接口规定功能

代码:

public interface Payment {
    void pay(double money);
}

二、写三个实现类

public class BankcardPaymentImpl implements Payment {

    @Override
    public void pay(double money) {
        System.out.println("银行卡支付了"+money+"元钱");
    }
}
public class PlatformPaymentImpl  implements Payment{

    @Override
    public void pay(double money) {
        System.out.println("支付平台支付了"+money+"元钱");    }
}
public class CreditCardPaymentImpl implements Payment{

    @Override
    public void pay(double money) {
        System.out.println("信用卡支付了"+money+"元钱");
    }
}

三、测试类

public class Test {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        Payment payment;
        while (true){
            System.out.println("请选择支付方式:  1. 支付平台支付   2. 银行卡网银支付  3. 信用卡快捷支付");
            System.out.print("支付方式为:");
            int choose = sc.nextInt();
            if (choose!=1&&choose!=2&&choose!=3){
                System.out.println("输入错误,请重新输入:");
            }else {
                switch (choose) {
                    case 1:
                        //支付平台支付
                        payment = new PlatformPaymentImpl();
                        break;
                    case 2:
                        //银行卡网银支付
                        payment = new BankcardPaymentImpl();
                        break;
                    case 3:
                        //信用卡快捷支付
                        payment = new CreditCardPaymentImpl();
                        break;
                    default:
                        payment = new PlatformPaymentImpl();
                        break;
                }
                System.out.print("请输入要付款的金额:");
                double money = sc.nextDouble();
                payment.pay(money);
                break;
            }
        }

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值