使用TypeScript编写一段程序模拟信用卡消费
时间: 2024-09-19 16:16:04 浏览: 37
在 TypeScript 中,我们可以创建一个简单的信用卡消费模拟,涉及到一个用户、一张卡以及消费操作。首先,我们需要定义相关的类结构。假设我们有一个 `Card` 类表示信用卡,包含余额属性和消费方法;一个 `User` 类,拥有信用卡并有消费的能力。
```typescript
// Card.ts
class Card {
private balance: number;
constructor(balance: number) {
this.balance = balance;
}
public consume(amount: number): void {
if (amount > this.balance) {
throw new Error("Insufficient balance");
}
this.balance -= amount;
console.log(`Consumed ${amount}, new balance is ${this.balance}`);
}
}
// User.ts
class User {
private card: Card;
constructor(card: Card) {
this.card = card;
}
public makePurchase(purchaseAmount: number): void {
this.card.consume(purchaseAmount);
}
}
// 示例使用
let myCard = new Card(1000);
const user = new User(myCard);
// 消费1500,会抛出错误,因为余额不足
try {
user.makePurchase(1500);
} catch (error) {
console.error(error.message);
}
// 正常消费100
user.makePurchase(100);
```
在这个例子中,`User` 类通过 `card.consume()` 实现了对 `Card` 的多态消费行为。你可以看到,尽管 `User` 不直接知道内部是如何实现 `consume` 方法的,但可以根据需要调用它。