Question
If you do not have your Intellij IDE Environment setup, you will have to get it setup to participate in this assignment. Follow the directions
If you do not have your Intellij IDE Environment setup, you will have to get it setup to participate in this assignment. Follow the directions in the Intellij installation appendix document to get your Intellij downloaded and installed.
javadoc Requirement
There is also a javadoc requirement for the Java application projects developed in the course. All Java projects must also contain javadoc documentation with it when submitted. There is an option to create javadocs in NetBeans. As long as you have your code commented properly, the javadoc will be automatically generated when you selected the option to generate it in Intellij. I uploaded a pdf document describing how to comment your code to generate your javadoc documentation correctly. There are also two hyperlinks leading to internet tutorials on creating javadoc documentation.
Assignment Requirements
I have also attached a Class Diagram that describes the hierarchy of the inheritance and interface behaviors. The link to the PDF of the diagram is below
User Define Object Assignment:
Create an Intellij Project. The Intellij project will contain three user defined classes. The project will test two of the User Define Classes by using and invoking each of their methods and printing the results.
You are required to create three UML Class Diagrams for the classes that you are going to create and implement in the project.
For your UML Class Diagram for the Assignment, you can use any modeling tool you prefer. The only submission requirement is the document submitted is in PDF format with your name in the diagram. I provided a template for a class diagram in MS Word format for students that do not have access to professional modeling software tool.
Create a Super Class named Employee. One of the requirements for the Employee class is that it is declared as an Abstract Class. The class has three properties and two abstract methods.
It has the following properties
- Employee number
- First name
- Last name
The abstract methods are
- Quit job
- accept job
The Employee class should have basic complement of concrete methods that all user defined objects should have.
- constructors
- set methods for the properties
- get methods for the properties
- an overriding toString method
- a compare method
- an equals method
- an overridden copy method
Chapter 9 describes an Interface Class. Create an Interface Class named hourly_Behavior that that contains the following Abstract Methods
Punch In
punchout
There are two sub classes that inherit from the super class Employee. One of the sub classes should implement the interface hourly_Behavior
- hourlyEmployee Class
- salariedEmployee Class
The hourlyEmployee class should implement the hourly Behavior interface. It has two properties
- pay rate
- hours worked
The hourlyEmployee class should also have the basic complement of concrete methods that all user defined objects should have.
- constructors
- set methods for the properties
- get methods for the properties
- an overriding toString method
- a compare method
- an equals method
- an overridden copy method
The salariedEmployee class should not implement the hourly_Behavior interface. It has two properties
- annual salary
- pay frequency
The salariedEmployee class should also have the basic complement of concrete methods that all user defined objects should have.
- constructors
- set methods for the properties
- get methods for the properties
- an overriding toString method
- a compare method
- an equals method
- an overridden copy method
Development Environment Configuration
If you plan on working from home, you will need to have the Intellij IDE installed on your personal computer. If you are not familiar with Intellij, you should test and become familiar with the Intellij Integrated Development Environment (IDE). There are instructions in Canvas on getting the Intellij IDE installed on your personal computer. If working from home, you must have Intellij installed and configured.
All programming projects must be submitted as a zipped Intellij Project Folder
Project Requirements
Each User Defined Class must be in its own separate source text file. Multiple Class Declarations in a File will not be accepted. The class source file name must be the same name as the class name in the source code. The Intellij IDE will assist you in creating separate class files using the File - New File Option from the pull down menu. Do not place more than one class description/ definition code in a single text file unless it is an inner class. This project does not require the use of inner classes. The name of the class source file must be same name as the class.
Create a Class named Employee
The first part of the assignment is to create a Super Class named Employee. Before physically implementing the Employee class, create a basic UML Diagram for the Class named Employee. After creating the Class Diagram, implement the Class and the methods of your Employee class from the Class Diagram using NetBeans.
Requirements for the Employee Class
A Employee has a employee number, first name, and a last name. The class should contain the basic functionality of a user defined object described in Chapters 8 and 9. The basic functionality described in chapter 8 is that all user defined objects should have a get and set method for each attribute. A user defined object should have a default constructor and initialization constructor. A user defined object should have an overriding toString method, and a compare method.
Create a Class named hourly employee
The next segment of the assignment is to create a basic UML Diagram for an hourly employee Class and to create and implement the class for the hourly employee. First create the UML Class Diagram. After creating the Class Diagram, create and implement the Class and the methods of your hourly employee class from the UML Class Diagram. The hourly employee class should inherit from the Employee class by extending it. It should also should implement the hourly_Behavior interface.
Requirements for the hourly employee Class
Create a class named hourly employee. An hourly employee has a pay rate and a hours worked property. The hourly employee class should contain the basic functionality of a user defined object described in Chapters 8 and 9 of the textbook. The basic functionality described in chapter 8 is that all user defined objects should have a get and set method for each attribute. A user defined object should have a default constructor and initialization constructor. A user defined object should have an overriding toString method, equals method and compare method
Create a class named salaried employee. The salaried employee should also should not implement the hourly_Behavior interface.
The next part of the assignment is to create a basic UML Diagram for a salaried employee class. After creating the Class Diagram, implement the methods of your salaried employee class. The salaried employee class has only two attributes, annual salary and the pay frequency attributes. Pay frequency can values such as weekly, biweekly, and monthly. Your set method for this attribute should validate the value.
Requirements for the salaried employee Class
The salaried employee class should contain the basic functionality of a user defined object described in Chapters 8 and 9 of the textbook. The basic functionality described in chapter 8 and 9 is that all user defined objects should have a get and set method for each attribute. A user defined object should have a default constructor and initialization constructor. A user defined object should have an overriding toString method, and a compare method. The Class should inherit from the Employee class. It also should not implement the hourly_Behavior interface.
Additionally, for this class, it should contain the basic functionality that all user defined classes should have described and illustrated in Chapter 9. The basic functionality described is that every user defined class should also have a compareTo method.
Instantiate instances of the hourly employee and salaried employee Classes. Use some literal values to provide an initial state to these instances of the classes. Use your initialization constructor to give each instance an initial state. Use your default constructor to give an instance a default state. After giving an instance a default state, use your set methods to change the state of an objects. Use the (to String) method of your Classes to print out the state of the instances of the Classes that were created in memory. Test the Compare methods of the two classes. Use print statements to indicate that your overriding methods that override your inherited abstract methods are working. You can place print statements in the utility methods of your concrete classes to verify that they are being invoked. The utility methods are the abstract methods in your Abstract class and your Interface class
All programming projects must have an associated Professional Lab Report submitted with in. A Lab Report must contain the minimum Requirements List Below
Document Formatting
- A document header - The Header section should contain your name
- A document footer - The footer should contain a page number
Paragraphs Formatting should be formatted
- 1.5 line spacing
- 12 points before and after the paragraph
Character Formatting
- Body Text should be 12 points
- Segment Headers should be boldface
What You Need To Submit for this assignment
- Submit your UML Diagrams in PDF Format
- Submit your Assignment Project as a Zipped NetBeans Project Folder
- Submit your Lab Report
Make sure to generate your javadoc before submitting your project
Submit all three documents separately in a single submission
After completing the project, zip the project into a zip file. Upload the zipped file containing the Intellij project folder that you created doing this assignment. Upload a copy of your Lab Report with your zipped Intellij Project Folder and PDF of your UML Diagram.
MotorVehical Abstract Class Class Diagram Vehicle Inventory System VIN: String manufacture String cost double abstract methods + MotorVehical): MotoVehical (String, String, double) +moveForward) + moveBackward(): + getVilNO: String + getManufacturer): String + getCost(0: double + setManufacturer(String): void + setCost(double): voird toString0:String
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access with AI-Powered Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started