使用TypeScript编写一段程序模拟信用卡消费 信用卡账户上一般包含: 1、卡面余额(可取款提现、可消费) 2、透支额度(仅限消费) 要求传入一个消费金额amount,根据账户上卡面余额和透支额度输出不同情况下的消费明细
时间: 2024-09-14 14:11:45 浏览: 82
基于JavaScript、微信小程序和TypeScript的礼品卡设计源码分享
在TypeScript中,我们可以定义一个信用卡类(CreditCard),其中包含卡面余额(balance)和透支额度(overdraftLimit)两个属性。该类还应该包含一个消费方法(charge),用于处理消费逻辑。以下是一个简单的实现:
```typescript
class CreditCard {
private balance: number;
private overdraftLimit: number;
constructor(initialBalance: number, overdraftLimit: number) {
this.balance = initialBalance;
this.overdraftLimit = overdraftLimit;
}
public charge(amount: number): string {
if (amount <= 0) {
return '消费金额必须大于0';
}
if (amount <= this.balance) {
this.balance -= amount;
return `消费成功,当前余额:${this.balance}`;
} else {
let overdraftAmount = amount - this.balance;
if (overdraftAmount > this.overdraftLimit) {
return `消费失败,超出透支额度。`;
} else {
this.balance = 0;
this.overdraftLimit -= overdraftAmount;
return `透支消费成功,当前透支额度:${this.overdraftLimit}`;
}
}
}
}
// 使用示例
const card = new CreditCard(1000, 500); // 初始余额1000元,透支额度500元
console.log(card.charge(500)); // 消费500元
console.log(card.charge(800)); // 消费800元
console.log(card.charge(300)); // 再次消费300元
```
在这个例子中,`charge` 方法首先检查消费金额是否合法(大于0),然后判断消费金额是否在当前余额和透支额度范围内。根据消费情况,输出不同的消费明细。
阅读全文