Friday, 17 January 2014

Java Method Overriding

Refer this link and make some changes in the existing file Encapsulation and Subclasses In Java (Employee Project)

/*Program for Overriding 
* Change the codes from EmployeeTest.java file and Make other package say "com.example.business" in the same folder.
* In the package com.example.business add the Class "EmployeeStockPlan"
*/
/*EmployeeTest.java Code*/
package com.example;
/*@author Aqib */
import com.example.business.EmployeeStockPlan;//importing the package in this file
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;

    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(eobj);
    }
    
    public static void printEmployee(Employee eobj, EmployeeStockPlan esp){
        printEmployee(eobj);/*Replaced codes*/
        System.out.println("Employee Stock: " + esp.grantStock(eobj));
    }
    
    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 Type : " + aobj.getClass().getSimpleName());//to get the name of the class
        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");
        EmployeeStockPlan esp = new EmployeeStockPlan();
        printEmployee(eobj);
        printEmployee(mobj);
        printEmployee(aobj);
        printEmployee(dobj);
        printEmployee(eobj, esp);
    }
}

/*EmployeeStockPlan.java code in the package com.example.business*/
package com.example.business;

import com.example.domain.Director;
import com.example.domain.Employee;
import com.example.domain.Manager;

public class EmployeeStockPlan {
    private final int empshare=10;
    private final int mgrshare=100;
    private final int dirshare=1000;
    
    public int grantStock(Employee eobj){
        if(eobj instanceof Director){
            return dirshare;
        }else{
            if(eobj instanceof Manager){
                return mgrshare;
            }else{
                return empshare;
            }
        }
    }
}
/*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;
    }
//method is added here which is overriden in Manager.java Class
    public String toString(){
        return "Employee Id" + getEid() + "\n" + "Employee name:" + getEname() + "\n" + "Employee SSN" + getEssn() + "\n" 

+ "Employee salary" + getEsalary();
    }

    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 file*/
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;
    }
    @Override
    public String toString(){
        return super.toString() + "Department Name" + getDeptName();
    }

    public String getDeptName() {
        return deptName;
    }
}
Output is changed at red underlines

Java Working with Method Overloading and User Input

/*Program of Method Overloading with User Input */
package newproject;

import java.util.Scanner;
/*@author Aqib */
public class MethodOverload {
    private int num1,num2;
    private float num3;
    private float result;
    Scanner ipobj = new Scanner(System.in);
    
    public void Area(int num1){
        System.out.println("Enter the Side of Square");
        num1=ipobj.nextInt();
        result=num1*num1;
        System.out.println("Area of Square is (Side * Side) " + (int)result);
    }
    public void Area(int num1,int num2){
        System.out.println("Enter Length of Rectangle");
        num1=ipobj.nextInt();
        System.out.println("Enter the Breadth of Rectangle");
        num2=ipobj.nextInt();
        result=(num1*num2);
        System.out.println("Area of rectangle is (Length * Breadth ) " + (int)result);
    }
    public void Area(int num1,float num3){
        float HALF;
        HALF = 0.5f;
        System.out.println("Enter Base of Triangle");
        num1=ipobj.nextInt();
        System.out.println("Enter the Heigth of Triangle");
        num3=ipobj.nextFloat();
        result=HALF*(num1*num3);
        System.out.println("Area of Triangle is (1/2(base * Height))" + result);
    }
    
    
   
    public static void main(String[] args) {
        MethodOverload obj = new MethodOverload();
        obj.Area(12, 13);
        obj.Area(12);
        obj.Area(3, 3.5f);
    }
}

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;
    }
}



Java Creating Classes and Package

/*Creating Java Class and Using getter/setter method..
Save the file with EmployeeTest.java in the package "com.example" and also make another package with name 

"com.example.domain See below to have the Employee.java file"
 */
package com.example;
/**
 *
 * @author Aqib
 */
import com.example.domain.Employee;
public class EmployeeTest {
    private int eid;
    private String ename;
    private String essn;
    private double esalary;

    
    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 main(String[] args) {
        // TODO code application logic here
        Employee eobj = new Employee();
        eobj.setEid(101);
        eobj.setEname("Aqib");
        eobj.setEssn("120-099-877");
        eobj.setEsalary(120_345.87);
        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());
    }
}


/*Employee.java file*/

package com.example.domain;

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

    public void setEid(int eid) {
        this.eid = eid;
    }

    public String getEname() {
        return ename;
    }

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

    public String getEssn() {
        return essn;
    }

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

    public double getEsalary() {
        return esalary;
    }

    public void setEsalary(double esalary) {
        this.esalary = esalary;
    }

    public Employee() {
    }

    public static void main(String[] args) {
    
}
}