CST8132: Object Oriented Programming Lab 5 (Assignment 1) Bank Simulator as a dynamicaly alocated amay of objects of type Bank Account (nstardiated wth ether a Savings Account or a Chequing Account object. How you handle the size In this assignment, you will complete an objeca- orented version of the software managing Bank customers Bank Accounts. You must use he classes as named in this assignment but you can use different methods and dat member names as long as your 501 tion folows al Obect Oriented Prinoiples Your program should hande ALL omers, 1 Our Bank Simulator will consist of customer Bank Accounts. I have simplfied the requirements for this infomation about System ext-intead you should issue an assignment to set boundaries on your time The Bark Sirmulator consists of & dynamicaly alocated aray of Bank Accounts of two types eher Savings accounts or Chequing accounts A bank account consists of an account number (up to 8 digits long customer name and a double balance. A Savings account has two You do NOT need to resize the amay once t should it become ful You you have should not space for-an enor message is suicient in minimum balance amount (at the end of the Z. AI Java oonvertons MUST be folosed-ie on their account balance as long as the account balance is more than the minimum balance amoux) A Chequing account haS one additional field compared to Bank Account-that the monthly fee that is be private jexcegt in Account class wher they are protectea) a Do not use ONLY the getiset design potem aThe Simulator w give the user " presumably the user is a bank employee a members ina class- and the getiset patem lows this to be broken. See description for methods for each dass below wich l hep is to be handled in the mer ofch ices of actions (ie this not simulating a oustomer using a bank machine) These actions wilinclude adding a new Bank Account .displaying the information for a . updating the balance for a specific Start this assgnnert WELL BEFORE running the monthly update on al assignments Check the submssion requirements and make sure you folow . print all accounts Your program should build a Bank databasefor now this is a dynamically alocated array. The required size of this armay is unknown but we will implement it .Work incrementally. Do not write more 20 lines d testing your code EVER recommendation sht you stat wi Assignt: Bank Smulation with Exception Handing the code for the menu in method main...then add each menu selection one at a time. I have isted selections in order that would be easiest the menu Class BankAccount This cass will be the base class and all Bank Accounts Ge accountNumber Do not just bindly follow my descriptions for each of the methods in the class. I suggest you start with Assign1 dlass and write the loop for the menu. Then, add one menu tem processing at a time, adding the appropriate methods to Methods this object from keyboard edits You must submit to the assignment link in Blackboard by the due date and time a zip file (named YourLastnameYourFirstNameAssign1) .all source code - ie java fles (Note - I monthly update (make it program.so all code must be available class, description of each data Class SavingsAccount e all .class fles * Your test plan in either "docx or.$ format (Sample test plan will be This class l be inherited from BankAccount and contains the data members for a savings account ie .javadoc Failure to provide any of the above will have arn effect on your grade for this assignment Check Methods Marking guide to see mark distribution. This dlass will contain method main which will contain the menu data, and doesnt allow user to Class Person: This class wil contain common data members for a person - firstName, Methods: o constructor () to create o Required getters CST8 132-00P appropriately-retums success This dass will be inherited from o findAccounto int - prompts user to enter which account number they wish to find and returns array index of where it is found otherwise returms -1 e Methods: through each current account in the array and updates the Class Bank: . This class will contain the array o BankAccount objects (which are need to keep two ints as well a Methods added ithere is room to update, and by how much CST8132-OOP Assign1: Bank Simulation with Exception Handling or an emor message. This should use toStringo from BankAccount class o updateAccountl) pompts user to updale, and by how much and then updates the balance CST81 32-00P Assign1: Bank Simulation with Exception Handling disglay an account display an account Prist all accounts un woethly update Quit Quit your ptie detadls of account holder1 accouet type (s for savings, t for dhecking count mbe irst ae of at helder your optian details of account holder 2 eccounit tyse (s for svigs, for accounit nuber first nam of ccount holder last nase of account heider phone uber muil address apening belance onthly fee 3444223 apening balance interest rate (should be " der ..)): Update an n woethly update Quit your aption your option display arart CST8132-OOP Assign1 Bank Simation with Exption Handling CST8132-OOP Qit dnew account splay an c rint all accounts Quit Prit all accounts Qit Systee of Account holders splay an rint all account Quit CST8132-O0P Assignt: Bank Smulation with Exception Handing Quit CST8132-O0P Assignt: Bank Simulation with Exception Handling dispay an acourt Prit all ot Nit display an acco :Print all acot ur option yste Account holders: date an accourt ddisplay an acourt :Print all outs Qit ur option CST8132-OOP Assignt: Bank Smulation with Exception Handing