| using System;
class Client{
BankAccount ba1, ba2, ba3, ba4, ba5, ba6, ba7;
public static void Main(){
(new Client()).Go();
}
public Client(){
ba1 = new BankAccount("Per", 100);
ba2 = new BankAccount("Poul", 200);
ba3 = new BankAccount("Pia", 300);
ba4 = new BankAccount("Mette", 400);
ba5 = new BankAccount("Rasmus", 500, ba1, ba2);
ba6 = new BankAccount("Lotte", 600, ba3, ba4);
ba7 = new BankAccount("Kurt", 700, ba5, ba6);
// The constructions above derive this pyramid tree structure:
// ba7
// ba5
// ba1
// ba2
// ba6
// ba3
// ba4
}
public void Go(){
WriteAccounts("Initial situation");
ba7.Deposit(1000);
WriteAccounts("After depositing 1000 kr.");
ba7.Withdraw(1000);
WriteAccounts("After withdrawing 1000 kr.");
ba7.DistributeEven();
WriteAccounts("After distributing even");
}
public void WriteAccounts(string situation){
Console.WriteLine(situation);
Console.WriteLine(ba1);
Console.WriteLine(ba2);
Console.WriteLine(ba3);
Console.WriteLine(ba4);
Console.WriteLine(ba5);
Console.WriteLine(ba6);
Console.WriteLine(ba7);
Console.WriteLine();
}
} |