Object Oriented Design - Writing Classes

In class exercises
Create a w11-oop subdirectory in your cs21/inclass directory and copy over some starting point files:
    $ cd 
    $ cd cs21/inclass
    $ pwd
      /home/your_user_name/cs21/inclass
    $ mkdir w11-oop       

    $ cd w11-oop
    $ pwd
      /home/your_user_name/cs21/inclass/w11-oop

    $ cp ~adanner/public/cs21/w11-oop/* .
	
This week we are going to do some of the following as an intro to Object Oriented design. We are going to do some of the following together:
  1. open account.py and add some of the missing methods to the Account class.

    As you implement each method, test it by adding calls to main. Try calls that will test different method return values. For example, if a method returns True or False, try one call that should return True, another that should return False.

  2. open atm.py. This is the start of a not-very-secure ATM program. One special user is named admin with a pin 0000, the other users are bank account holders. If you log in as admin you have a different set of options than if you log in as a regular user. Try running and logging in as admin with a pin 000. Try some of the menu options to see what this program does for admin (not all admin features are implemented).

    Parts of the program are complete, but other parts are left for you to do. You will complete admin functionality, and add regular user functionality. As you add things, keep in mind a user is running this program and likely wants some feedback on operations they perform on bank accounts.

    The bank account data base is stored in a file, and read into a list of Account objects.

    Complete the missing functionality that operates on this list of Account objects. Add and test in this order:

    • ComputeInterest
    • FindMatchingAccount
    • DoUserLoop and all regular user functionality
      1. list balance
      2. withdraw
      3. deposit
      4. log out as user
    • AddUserAccount
    • Tablular ouput formating for printing all account info