Challenge 3: Implement a Banking Application Using Polymorphism
In this challenge, you have to implement a basic banking application by implementing the Account class along with two derived classes, SavingsAccount and CheckingAccount.
We'll cover the following...
Problem Statement
Write a code that has:
-
A base class named
Account.- Inside it define:
- A field,
private double _balance - A
protectedproperty,Balance, to access the balance public virtual bool Withdraw(double amount)public virtual bool Deposit(double amount)public virtual void PrintBalance()
- A field,
- Inside it define:
-
Then, there are two derived classes
-
SavingsAccountclass has:-
A
privatefield_interestRateset to 0.8 -
An overridden
Withdraw()method that deducts amount from balance with interestRate only if enough balance is available. The withdrawal amount should be greater than zero.- Returns
trueif the transaction was successful andfalseotherwise.
- Returns
-
An overridden
Deposit()method that adds amount to balance with interestRate and also checks if the amount to be deposited is greater than zero- Returns
trueif the transaction was successful andfalseotherwise.
- Returns
-
PrintBalance()displays the balance in the account
-
-
CheckingAccountclass has:-
An overridden
Withdraw()method that deducts amount from balance only if enough balance is available and the withdrawal amount should be greater than zero- Returns
trueif the transaction was successful andfalseotherwise.
- Returns
-
An overridden
Deposit()method that adds amount in balance and also checks if the amount to be deposited is greater than zero- Returns
trueif the transaction was successful andfalseotherwise.
- Returns
-
PrintBalance()displays the balance in the account
-
-
For SavingsAccount:
Input
- In the
Savingsclass,Balanceis set to 5000 using thebase()parametrized constructor - In the
Currentclass,Balanceis set to 5000 using thebase()parametrized constructor
Output
-
Balance before withdrawal from the savings account
-
Balance after withdrawal from the savings account
-
Balance before withdrawal from the current account
-
Balance after withdrawal from the current account
Sample Input
Account SAccount = new SavingsAccount(5000);
// creating saving account object
SAccount.Deposit(1000);
SAccount.PrintBalance();
SAccount.Withdraw(3000);
SAccount.PrintBalance();
// creating checking account object
Account CAccount = new CheckingAccount(5000);
CAccount.Deposit(1000);
CAccount.PrintBalance();
CAccount.Withdraw(3000);
CAccount.PrintBalance();
Sample Output
The saving account balance is: 6800
The saving account balance is: 1400
The checking account balance is: 6000
The checking account balance is: 3000