The Person, Student, Employee, Faculty, Staff Classes

2 minute read

The code has been modified slightly and now uploaded to the site.

Question

<— Return Home

Main.java

public class Main{
    public static void main(String[] args) {
        Person me = new Person("William", "1100 Awesome Place", "123-456-7899", "willysemail@great.com");
        System.out.println(me);
        // Grade myGrade = Grade.SENIOR;
        // me = new Student("William", "1100 Awesome Place", 1234567899, "willysemail@great.com", Grade.SENIOR);
        // System.out.println(me);
        // COULD WORK WITH PERSON
        Student bro = new Student("William", "1100 Awesome Place", "123-456-7899", "willysemail@great.com", Grade.SENIOR);
        System.out.println(bro);
        Employee worker = new Employee("Billy", "1234 Hek", "555-444-3332", "ironworkers@geemails.com", "E building", 10000, "11/20/2021");
        System.out.println(worker);
        Faculty pro = new Faculty("Jerry", "5523 Gregory Ave", "323-545-8826", "jumbolyah@hotmail.com", "E building", 10000, "11/19/2021", "11 AM - 6 PM", "Corporal");
        System.out.println(pro);
        Staff prof = new Staff("Darbandi", "100 W 49th Ave", "604-323-5511", "hdarbandi@langara.ca", "B building", 30000, "1/1/2011", "College Professor");
        System.out.println(prof);
    }
}

enum Grade {FRESHMAN, SOPHOMORE, JUNIOR, SENIOR};

class Person{
    private String name;
    private String address;
    private String phoneNumber;
    private String email;

    public Person(){

    }

    public Person(String name, String address, String phoneNumber, String email){
        this.name = name;
        this.address = address;
        this.phoneNumber = phoneNumber;
        this.email = email;
    }

    @Override
    public String toString(){
        return "Name: " + name + " Address: " + address + " Phone Number: " + phoneNumber + " Email: " + email;
    }
}

class Student extends Person{
    private Grade theStatus;
    public Student(){

    }

    public Student(String name, String address, String phoneNumber, String email, Grade status){
        super(name, address, phoneNumber, email);
        theStatus = status;
    }

    @Override
    public String toString(){
        return super.toString() + " Status: " + theStatus;
    }
}

class Employee extends Person{
    private String office;
    private double salary;
    private String dateHired;

    public Employee(){

    }

    public Employee(String name, String address, String phoneNumber, String email, String office, double salary, String dateHired){
        super(name, address, phoneNumber, email);
        this.office = office;
        this.salary = salary;
        this.dateHired = dateHired;
    }

    @Override
    public String toString(){
        return super.toString() + " Office: " + office + " Salary: $" + salary + " Date Hired: " + dateHired;
    }
}

class Faculty extends Employee{
    private String officeHours;
    private String rank;
    public Faculty(){

    }

    public Faculty(String name, String address, String phoneNumber, String email, String office, double salary, String dateHired, String officeHours, String rank){
        super(name, address, phoneNumber, email, office, salary, dateHired);
        this.officeHours = officeHours;
        this.rank = rank;
    }

    @Override
    public String toString(){
        return super.toString() + " Office Hours: " + officeHours + " Rank: " + rank;
    }
}

class Staff extends Employee{
    private String title;
    public Staff(){

    }

    public Staff(String name, String address, String phoneNumber, String email, String office, double salary, String dateHired, String title){
        super(name, address, phoneNumber, email, office, salary, dateHired);
        this.title = title;
    }

    @Override
    public String toString(){
        return super.toString() + " Title: " + title;
    }
}

<— Return Home