From dc803b0ef51898139783a3d0ab49223d8494e936 Mon Sep 17 00:00:00 2001 From: Kamal Wickramanayake Date: Sat, 14 Feb 2026 16:37:45 +0530 Subject: Added 06-simple-objects-better code --- java/06-simple-objects-better/.gitignore | 1 + java/06-simple-objects-better/Account.java | 26 +++++++++++++++ java/06-simple-objects-better/AccountApp.java | 16 ++++++++++ java/06-simple-objects-better/AccountManager.java | 39 +++++++++++++++++++++++ 4 files changed, 82 insertions(+) create mode 100644 java/06-simple-objects-better/.gitignore create mode 100644 java/06-simple-objects-better/Account.java create mode 100644 java/06-simple-objects-better/AccountApp.java create mode 100644 java/06-simple-objects-better/AccountManager.java (limited to 'java') diff --git a/java/06-simple-objects-better/.gitignore b/java/06-simple-objects-better/.gitignore new file mode 100644 index 0000000..6b468b6 --- /dev/null +++ b/java/06-simple-objects-better/.gitignore @@ -0,0 +1 @@ +*.class diff --git a/java/06-simple-objects-better/Account.java b/java/06-simple-objects-better/Account.java new file mode 100644 index 0000000..4b26eca --- /dev/null +++ b/java/06-simple-objects-better/Account.java @@ -0,0 +1,26 @@ +public class Account { + + /* Declaring fields - represent state */ + + int accountNumber; + double balance; + + public Account(int accountNumber, double balance) { + this.accountNumber = accountNumber; + this.balance = balance; + } + + public int getAccountNumber() { + return accountNumber; + } + public void setAccountNumber(int accountNumber) { + this.accountNumber = accountNumber; + } + public double getBalance() { + return balance; + } + public void setBalance(double balance) { + this.balance = balance; + } + +} diff --git a/java/06-simple-objects-better/AccountApp.java b/java/06-simple-objects-better/AccountApp.java new file mode 100644 index 0000000..3399770 --- /dev/null +++ b/java/06-simple-objects-better/AccountApp.java @@ -0,0 +1,16 @@ +public class AccountApp { + + /** + * @param args + */ + public static void main(String[] args) { + AccountManager accountManager = new AccountManager(); + + System.out.println(accountManager.getBalance(2)); + + accountManager.deposit(2, 2.0); + + System.out.println(accountManager.getBalance(2)); + } + +} diff --git a/java/06-simple-objects-better/AccountManager.java b/java/06-simple-objects-better/AccountManager.java new file mode 100644 index 0000000..5a3368c --- /dev/null +++ b/java/06-simple-objects-better/AccountManager.java @@ -0,0 +1,39 @@ +import java.util.HashMap; +import java.util.Map; + +public class AccountManager { + + private Map accounts = new HashMap<>(); + + /* + This is a called a constructor. It gets executed when an object of this class is + created. + */ + public AccountManager() { + // For testing, create some account objects. + // In a real systems, account data will be in a storage system like a database. + + Account account = new Account(1, 10.0); + accounts.put(account.getAccountNumber(), account); + + account = new Account(2, 20.0); + accounts.put(account.getAccountNumber(), account); + + account = new Account(3, 10.0); + accounts.put(account.getAccountNumber(), account); + } + + public void withdraw(int accountId, double amount) { + Account account = accounts.get(accountId); + account.setBalance(account.getBalance() - amount); + } + + public void deposit(int accountId, double amount) { + Account account = accounts.get(accountId); + account.setBalance(account.getBalance() + amount); + } + + public double getBalance(int accountId) { + return accounts.get(accountId).getBalance(); + } +} -- cgit v1.2.3