0% found this document useful (0 votes)
29 views5 pages

Homework #1: Please Refer To The Code in The Appendix (Pages 2 - 6) To Answer The Following Questions

The document contains code for an Employee class, a Manager class that extends Employee, and a Test class. The Employee class implements an interface with getName() and getTitle() methods and contains protected salary and private other fields. The Manager class extends Employee and adds experience, degree, and bonus fields. The Test class creates instances of Manager and Employee, calls their methods to print details, and tests raiseSalary() methods, demonstrating polymorphism.

Uploaded by

abc
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views5 pages

Homework #1: Please Refer To The Code in The Appendix (Pages 2 - 6) To Answer The Following Questions

The document contains code for an Employee class, a Manager class that extends Employee, and a Test class. The Employee class implements an interface with getName() and getTitle() methods and contains protected salary and private other fields. The Manager class extends Employee and adds experience, degree, and bonus fields. The Test class creates instances of Manager and Employee, calls their methods to print details, and tests raiseSalary() methods, demonstrating polymorphism.

Uploaded by

abc
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Homework #1

MCIS 5103: Advanced Programming Concepts


Instructor: Dr. Justin L. Rice
Due Date: 9/8/2021

Please refer to the code in the Appendix (pages 2 - 6) to answer the following questions.

1. What is the relationship between the Employee class and the Manager class? What concept does this
demonstrate? (10 points)

2. What would happen if mySalary were declared private instead of protected? (15 points)

3. Write the output for each section of print statements. (15 points)

4. Which raiseSalary() method does m.raiseSalary(10) execute? Why? What concept does this
demonstrate? (20 points)

5. Which raiseSalary() method does e1.raiseSalary(10) execute? Why? What concept does this
demonstrate? (20 points)

6. Which raiseSalary() method does e2.raiseSalary(10,1) execute? Why? What concept does this
demonstrate? (20 points)
APPENDIX

Traits.java

public interface Traits{

public String getName();


public String getTitle();

}
Employee.java

public class Employee implements Traits {

private String myName;


private String myTitle;
protected double mySalary;
private int myAge;

public Employee(String name, String title, double salary, int age) {


myName = name;
myTitle = title;
mySalary = salary;
myAge = age;
}

public String getName() {


return myName;
}

public String getTitle(){


return myTitle;
}

public double getSalary() {


return mySalary;
}

public int getAge(){


return myAge;
}

public void raiseSalary(int percent) {

mySalary = mySalary + percent * 0.01 * mySalary;

public void raiseSalary(int percent, int cost_of_living_adjustment) {

mySalary = mySalary + percent * 0.01 * mySalary +


cost_of_living_adjustment * 0.01 * mySalary;

}
}
Manager.java

public class Manager extends Employee{

private int yearsWorked;


private String highestDegree;
private double promotionBonus;

public Manager(String name, String title, double salary, int age, int
experience, String degree, double bonus){

super(name, title, salary, age);


yearsWorked = experience;
highestDegree = degree;
promotionBonus = bonus;
}

public int getExperience(){

return yearsWorked;

public String getDegree(){

return highestDegree;

public double getBonus(){

return promotionBonus;

public void raiseSalary(int percent) {

mySalary = mySalary + percent * 0.01 * mySalary + promotionBonus;


}

}
Test.java

public class Test{

public static void main(String args[]){

Manager m = new Manager("John Doe", "Department Head", 100000.0, 55,


30, "PhD", 5000.0);
Employee e1 = new Employee("Jane Doe", "Resource Analyst", 75000.0,
40);
Employee e2 = new Employee("Jim Doe", "Engineer", 85000.0, 46);

System.out.println("Name : " + m.getName());


System.out.println("Title : " + m.getTitle());
System.out.println("Age : " + m.getAge());
System.out.println("Years of Experience : " +
m.getExperience());
System.out.println("Highest Degree Earned : " + m.getDegree());
System.out.println("Salary : " + m.getSalary());
System.out.println("Promotion Bonus : " + m.getBonus());
m.raiseSalary(10);
System.out.println("Salary Raised!");
System.out.println("New Salary : " + m.getSalary());

System.out.println("\n");

System.out.println("Name : " + e1.getName());


System.out.println("Title : " + e1.getTitle());
System.out.println("Age : " + e1.getAge());
System.out.println("Salary : " + e1.getSalary());
e1.raiseSalary(10);
System.out.println("Salary Raised");
System.out.println("New Salary : " + e1.getSalary());

System.out.println("\n");

System.out.println("Name : " + e2.getName());


System.out.println("Title : " + e2.getTitle());
System.out.println("Age : " + e2.getAge());
System.out.println("Salary : " + e2.getSalary());
e2.raiseSalary(10,1);
System.out.println("Salary Raised");
System.out.println("New Salary : " + e2.getSalary());

You might also like