面向对象编程实践:创建复杂Java实体类
在面向对象编程中,我们常常需要创建复杂的实体类来表示现实世界中的各种实体。下面以一个典型的银行账户类为例,展示如何创建复杂的实体类。
// 定义基本的属性(字段)
public class BankAccount {
// 自增id
private int id;
// 存款人姓名
private String ownerName;
// 银行账号
private String accountNumber;
// 最后一次存款时间戳
private long lastDepositTimestamp;
// 最后一次取款时间戳
private long lastWithdrawalTimestamp;
// 构造函数,初始化所有字段
public BankAccount(int id, String ownerName, String accountNumber) {
this.id = id;
this.ownerName = ownerName;
this.accountNumber = accountNumber;
this.lastDepositTimestamp = 0;
this.lastWithdrawalTimestamp = 0;
}
// 获取和设置字段的方法
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getOwnerName() {
return ownerName;
}
public void setOwnerName(String ownerName) {
this.ownerName = ownerName;
}
public String getAccountNumber() {
return accountNumber;
}
public void setAccountNumber(String accountNumber) {
this.accountNumber = accountNumber;
}
// 添加存款操作,更新最后存款时间戳
public void deposit(double amount) {
lastDepositTimestamp = System.currentTimeMillis();
this.balance += amount; // 更新账户余额
}
// 添加取款操作,更新最后取款时间戳
public void withdraw(double amount) {
if (amount > balance) {
throw new IllegalArgumentException("Insufficient balance for withdrawal.");
}
lastWithdrawalTimestamp = System.currentTimeMillis();
this.balance -= amount; // 更新账户余额
}
// 获取当前账户的余额
public double getBalance() {
return balance;
}
// 获取最后一次存款时间戳
public long getLastDepositTimestamp() {
return lastDepositTimestamp;
}
// 获取最后一次取款时间戳
public long getLastWithdrawalTimestamp() {
return lastWithdrawalTimestamp;
}
}
这个例子中,我们创建了一个BankAccount类,它包含了基本的属性(如id、姓名和账号)以及相关的操作方法(存款、取款和获取余额等)。这样就可以根据实际需求对复杂实体进行建模了。
还没有评论,来说两句吧...