package org.lurey.cs2b.assignments.inheritance; /** * Employee Class * @author Matan Lurey */ public class Employee { protected String name = "Unnamed"; protected int id = 0; protected int phone = 0; protected int age = 0; protected char gender = 'M'; protected String title = "Employee"; protected float salary = 0; protected int years = 0; /** * Default constructor */ public Employee() { } /** * Non-default Contructor. Sets the name as well. * @param name */ public Employee(String name) { this.setName(name); } public void setName(String name) { this.name = name; } public void setId(int id) { this.id = id; } public void setPhone(int phone) { this.phone = phone; } public void setAge(int age) { this.age = age; } public void setGender(char gender) { this.gender = gender; } public void setTitle(String title) { this.title = title; } public void setSalary(float salary) { this.salary = salary; } public void setYears(int years) { this.years = years; } @Override public String toString() { return "Employee #" + id + ": " + name + "\n" + "\tPhone: " + phone + "\n" + "\tAge: " + age + "\n" + "\tGender: " + gender + "\n" + "\tTitle: " + title + "\n" + "\tYears: " + years; } public void print() { System.out.println(this); } } package org.lurey.cs2b.assignments.inheritance; public class Programmer extends Employee { private int department = 0; private String supervisor = "None"; private float lastSalaryIncrease = 0; private int experience = 0; private boolean java = false; private boolean cpp = false; @Override public String toString() { return super.toString() + "\n\tDepartment: " + department + "\n\tSupervsior: " + supervisor + "\n\tLast Salary Increase: " + lastSalaryIncrease + "\n\tExperience: " + experience + "\n\tKnows Java: " + java + "\n\tKnows C++: " + cpp; } public Programmer() { super(); } public Programmer(String name) { super(name); } public void setDepartment(int department) { this.department = department; } public void setSupervisor(String supervisor) { this.supervisor = supervisor; } public void setLastSalaryIncrease(int lastSalary) { this.lastSalaryIncrease = lastSalary; } public void setExperience(int experience) { this.experience = experience; } public void setJava(boolean java) { this.java = java; } public void setCpp(boolean cpp) { this.cpp = cpp; } } package org.lurey.cs2b.assignments.inheritance; /** * @author Matan Lurey * Computer Science 2B * Assignment #3 - Inheritance */ public class TestCase { public static void main(String args[]) { System.out.println("Employee()"); Employee emp = new Employee(); System.out.println("Employee(\"Bob\")"); Employee bob = new Employee("Bob"); System.out.println("Programmer()"); Programmer prgmr = new Programmer(); System.out.println("Programmer(\"Kevin\")"); Programmer kevin = new Programmer("Kevin"); System.out.println("Employee (emp): "); emp.print(); System.out.println("Employee (bob): "); bob.print(); System.out.println("Programmer (prgmr): "); prgmr.print(); System.out.println("Programmer (kevin): "); kevin.print(); System.out.println("emp.setName(\"Joe Somebody\")"); emp.setName("Joe Somebody"); System.out.println("prgmr.setName(\"Wilson Noeman\")"); prgmr.setName("Wilson Noeman"); System.out.println("kevin.setDepartment(1337)"); kevin.setDepartment(1337); System.out.println("Modifications made!"); System.out.println("Employee (emp): "); emp.print(); System.out.println("Employee (bob): "); bob.print(); System.out.println("Programmer (prgmr): "); prgmr.print(); System.out.println("Programmer (kevin): "); kevin.print(); } }