java写代码,主要运用接口和继承知识,描述五种支付方式,现金支付,微信支付,支付宝支付,银行卡支付,网银支付,写一个父类来描述五种支付方式的共同特征,再写五个子类来描述这些支付方式它们自己特有的支付特征,输出时显示五种支付方式都是货币流通的方式以及它们各自的特征,给出完整的代码
时间: 2024-11-04 17:11:10 浏览: 7
在Java中,我们可以创建一个`Payment`父类来描述各种支付方式的基本共性,如付款、退款等操作,然后为每种具体的支付方式创建独立的子类,体现它们的独特属性。以下是代码示例:
```java
// 父类 Payment,表示所有支付方式的公共特性
abstract class Payment {
protected String currency; // 共同的货币单位
public abstract void pay();
public abstract void refund();
public void setCurrency(String currency) {
this.currency = currency;
}
@Override
public String toString() {
return "通用支付方式:" + currency;
}
}
// 子类 CashPayment,代表现金支付
class CashPayment extends Payment {
private double amount;
public CashPayment(double amount) {
this.amount = amount;
}
@Override
public void pay() {
System.out.println("现金支付: " + amount + "元");
}
@Override
public void refund() {
System.out.println("现金无法退款");
}
@Override
public String toString() {
return super.toString() + ", 现金";
}
}
// 其他子类同理,这里省略了微信、支付宝、银行卡和网银支付的具体实现
// 类似地,可以分别为微信(WxPay),支付宝(AliPay),银行卡(BankCardPay),网银OnlineBankPay)分别编写
public class Main {
public static void main(String[] args) {
// 创建并实例化各个支付方式
Payment cash = new CashPayment(100);
Payment wechat = new WxPay(); // 假设WxPay类已经存在
Payment alipay = new AliPay(); // 假设AliPay类已经存在
Payment bank = new BankCardPay(); // 假设BankCardPay类已经存在
Payment onlineBank = new OnlineBankPay(); // 假设OnlineBankPay类已经存在
// 调用各自的支付和退款方法
cash.pay();
cash.refund();
wechat.pay();
wechat.refund();
// ... 以此类推,其他支付方式的操作
System.out.println("所有的支付方式都是货币流通的方式:");
System.out.println(cash);
System.out.println(wechat);
System.out.println(alipay);
System.out.println(bank);
System.out.println(onlineBank);
}
}
```
以上代码展示了如何使用Java的接口和继承机制来创建支付方式的模型,每个子类都实现了`Payment`接口,并提供了自己特有的方法。运行`main`方法会展示出每个支付方式的信息及相应的操作。
阅读全文