| bank-account/bank-account-6/bank-account.cs - The BankAccount - A more radical use of this. | Lecture 3 - slide 20 : 29 Program 2 |
using System;
using System.Collections;
public class BankAccount {
private double interestRate;
private string owner;
private decimal balance;
private long accountNumber;
private static long nextAccountNumber = 0;
private static ArrayList accounts = new ArrayList();
public BankAccount(string owner) {
BankAccount.nextAccountNumber++;
BankAccount.accounts.Add(this);
this.accountNumber = nextAccountNumber;
this.interestRate = 0.0;
this.owner = owner;
this.balance = 0.0M;
}
public BankAccount(string owner, double interestRate) {
BankAccount.nextAccountNumber++;
BankAccount.accounts.Add(this);
this.accountNumber = nextAccountNumber;
this.interestRate = interestRate;
this.owner = owner;
this.balance = 0.0M;
}
public decimal Balance () {
return this.balance;
}
public static long NumberOfAccounts (){
return BankAccount.nextAccountNumber;
}
public static BankAccount GetAccount (long accountNumber){
foreach(BankAccount ba in BankAccount.accounts)
if (ba.accountNumber == accountNumber)
return ba;
return null;
}
public void Withdraw (decimal amount) {
this.balance -= amount;
}
public void Deposit (decimal amount) {
this.balance += amount;
}
public void AddInterests() {
this.balance = this.balance + this.balance * (decimal)interestRate;
}
public override string ToString() {
return this.owner + "'s account, no. " + this.accountNumber + " holds " +
+ this.balance + " kroner";
}
}