面向对象编程实践:创建复杂Java实体类

原创 忘是亡心i 2024-12-11 06:42 16阅读 0赞

在面向对象编程中,我们常常需要创建复杂的实体类来表示现实世界中的各种实体。下面以一个典型的银行账户类为例,展示如何创建复杂的实体类。

  1. // 定义基本的属性(字段)
  2. public class BankAccount {
  3. // 自增id
  4. private int id;
  5. // 存款人姓名
  6. private String ownerName;
  7. // 银行账号
  8. private String accountNumber;
  9. // 最后一次存款时间戳
  10. private long lastDepositTimestamp;
  11. // 最后一次取款时间戳
  12. private long lastWithdrawalTimestamp;
  13. // 构造函数,初始化所有字段
  14. public BankAccount(int id, String ownerName, String accountNumber) {
  15. this.id = id;
  16. this.ownerName = ownerName;
  17. this.accountNumber = accountNumber;
  18. this.lastDepositTimestamp = 0;
  19. this.lastWithdrawalTimestamp = 0;
  20. }
  21. // 获取和设置字段的方法
  22. public int getId() {
  23. return id;
  24. }
  25. public void setId(int id) {
  26. this.id = id;
  27. }
  28. public String getOwnerName() {
  29. return ownerName;
  30. }
  31. public void setOwnerName(String ownerName) {
  32. this.ownerName = ownerName;
  33. }
  34. public String getAccountNumber() {
  35. return accountNumber;
  36. }
  37. public void setAccountNumber(String accountNumber) {
  38. this.accountNumber = accountNumber;
  39. }
  40. // 添加存款操作,更新最后存款时间戳
  41. public void deposit(double amount) {
  42. lastDepositTimestamp = System.currentTimeMillis();
  43. this.balance += amount; // 更新账户余额
  44. }
  45. // 添加取款操作,更新最后取款时间戳
  46. public void withdraw(double amount) {
  47. if (amount > balance) {
  48. throw new IllegalArgumentException("Insufficient balance for withdrawal.");
  49. }
  50. lastWithdrawalTimestamp = System.currentTimeMillis();
  51. this.balance -= amount; // 更新账户余额
  52. }
  53. // 获取当前账户的余额
  54. public double getBalance() {
  55. return balance;
  56. }
  57. // 获取最后一次存款时间戳
  58. public long getLastDepositTimestamp() {
  59. return lastDepositTimestamp;
  60. }
  61. // 获取最后一次取款时间戳
  62. public long getLastWithdrawalTimestamp() {
  63. return lastWithdrawalTimestamp;
  64. }
  65. }

这个例子中,我们创建了一个BankAccount类,它包含了基本的属性(如id、姓名和账号)以及相关的操作方法(存款、取款和获取余额等)。这样就可以根据实际需求对复杂实体进行建模了。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,16人围观)

还没有评论,来说两句吧...

相关阅读