Programming Assignment 4

Due: See Programming Assignment 4 link on Canvas The purpose of this programming project is to demonstrate a fundamental understanding of inheritance polymorphism, and interfaces REQUIREMENTS You will submit all source code files (4 in all) as a single zipped file named “Programming4.zip” through the Programming Assignment 4 Submission link on Canvas Not only will you be graded on program correctness (Program executes correctly, proper use of methods classes, inheritance, etc.) but also, good programming documentation techniques including javadoc, proper indentation, correct locations of braces, meaningful identifier names, preface instance fields with my and method parameter names with the, javadoc prior to methods, specific comments on complex code, etc. DETAILS You will create 3 classes related to banking operations for customers, and an Interface that is implemented by all either directly or inherited. Keep in mind, one major purpose of inheritance is to eliminate redundant code. For this reason you should take full advantage of super class code or methods when developing your subclasses You will create a basic bank account class “BankAccount.java,” a more specific savings account class “SavingsAccount.java,” an Interface for accessing and changing a customer's name “NamedAccount.java,” a safe deposit box account class for establishing a safe deposit box “SafeDepositBoxAccount.java” which implements the NamedAccount interface, and finally, you will create toString() methods for your classes and modify the BankAccount class to also implement the NamedAccount interface. Always remember to use final constants in place of any literal constants, sometimes known as “Magic Numbers,” (anything other than 0, 1, 2, & -1) you would normally use in your code! Greater detail of each class follows