Thursday, 16 January 2014

Java Working with Subclass and Encapsulation

/*Program of Encapsulation and Subclass 
* EmployeeTest.java (Main Class)
* package used com.example and com.example.domain
*/

package com.example;
/*@author Aqib*/
import com.example.domain.Admin;
import com.example.domain.Director;
import com.example.domain.Employee;
import com.example.domain.Engineers;
import com.example.domain.Manager;
public class EmployeeTest {
    private int eid;
    private String ename;
    private String essn;
    private double esalary;

    /**
     * @param args the command line arguments
     */
    public void setEid(int eid) {
        this.eid = eid;
    } 

    public void setEname(String ename) {
        this.ename = ename;
    }   

    public void setEssn(String essn) {
        this.essn = essn;
    }   

    public void setEsalary(double esalary) {
        this.esalary = esalary;
    }
    
    public static void printEmployee(Employee eobj){
        System.out.println("--Employee constructor is called--");
        System.out.println("Employee Id is " + eobj.getEid());
        System.out.println("Employee Name is " + eobj.getEname());
        System.out.println("Emploee SSN number is " + eobj.getEssn());
        System.out.println("Employee Salary is " + eobj.getEsalary());
    }
    
    public static void printEmployee(Manager mobj){
        System.out.println("--Manager constructor is called--");
        System.out.println("Employee Id is " + mobj.getEid());
        System.out.println("Employee Name is " + mobj.getEname());
        System.out.println("Emploee SSN number is " + mobj.getEssn());
        System.out.println("Employee Salary is " + mobj.getEsalary());
        System.out.println("Employee Department Name is " + mobj.getDeptName());
    }
    
     public static void printEmployee(Admin aobj){
        System.out.println("--Admin constructor is called--");
        System.out.println("Employee Id is " + aobj.getEid());
        System.out.println("Employee Name is " + aobj.getEname());
        System.out.println("Emploee SSN number is " + aobj.getEssn());
        System.out.println("Employee Salary is " + aobj.getEsalary());
    }
     
      public static void printEmployee(Director dobj){
        System.out.println("--Director constructor is called--");
        System.out.println("Employee Id is " + dobj.getEid());
        System.out.println("Employee Name is " + dobj.getEname());
        System.out.println("Emploee SSN number is " + dobj.getEssn());
        System.out.println("Employee Salary is " + dobj.getEsalary());
    }
    public static void main(String[] args) {
        // TODO code application logic here
        Engineers eobj = new Engineers(101,"Aqib Ferhan","012-98-9898",120_345.98);
        Manager mobj = new Manager(120,"John","239-97-09090",130_89.65,"US Manager");
        Admin aobj = new Admin(139,"Sam Coles","439-09-8776",450_454.90);
        Director dobj = new Director(120,"John","239-97-09090",130_89.65,"US Manager");
        printEmployee(eobj);
        printEmployee(mobj);
        printEmployee(aobj);
        printEmployee(dobj);
    }
}

/*Employee.java File*/

package com.example.domain;

public class Employee {
private int eid;
private String ename,essn;
private double esalary;
    public int getEid() {
        return eid;
    }

    public String getEname() {
        return ename;
    }

    public void setEname(String ename) {
        this.ename = ename;
    }

    public String getEssn() {
        return essn;
    }
    public double getEsalary() {
        return esalary;
    }

    public Employee(int eid, String ename,String essn,double esalary) {
        this.eid=eid;
        this.ename=ename;
        this.essn=essn;
        this.esalary=esalary;
    }
    public void raiseSalary(double increase){
        esalary+=increase;
    }
}

/*Manager.java inherited from Employee*/
package com.example.domain;

public class Manager extends Employee {
    private String deptName;
    
    public Manager(int eid, String ename,String essn,double esalary,String deptName){
        super(eid,ename,essn,esalary);
        this.deptName=deptName;
    }

    public String getDeptName() {
        return deptName;
    }
}

/*Engineers.java inherited from Employee Class*/
package com.example.domain;

public class Engineers extends Employee {
    public Engineers(int eid, String ename,String essn,double esalary){
        super(eid,ename,essn,esalary);
    }
}

/*Admin.java inherited from Employee*/
package com.example.domain;

public class Admin extends Employee {
    public Admin(int eid, String ename,String essn,double esalary){
        super(eid,ename,essn,esalary);
    }
}

/*Director.java inherited from Manager*/
package com.example.domain;

public class Director extends Manager {
    private double budget;
    
    public Director(int eid, String ename,String essn,double esalary,String deptName){
        super(eid,ename,essn,esalary,deptName);
        this.budget=120_09.89;
    }

    public double getBudget() {
        return budget;
    }
}



No comments:

Post a Comment