Tuesday, 19 April 2016

Iterator pattern - Example


Employee is an interface. Manager, PieceWorker, HourlyWorker and CommissionWorker are implementation classes of interface Employee. 

EmployeeTest class will create a list and use a built-in iterator of ArrayList class to traverse the members of the list.

interface Employee {   
    public abstract double earnings();
}
class Manager implements Employee { .... }
class PieceWorker implements Employee { .... }
class HourlyWorker implements Employee { .... }
class CommissionWorker implements Employee { .... }

____________________________________________________________

java.util.List list = new ArrayList();
list.add(new Manager("Bill", 800.00));
list.add(new CommissionWorker("Newt", 400.0, 3.75, 159.99));
list.add(new PieceWorker("Al", 2.5, 200));
list.add(new HourlyWorker("Babara", 13.75, 40));
list.add(new Manager("Peter", 1200.00));
list.add(new CommissionWorker("Margret", 600.0,5.5, 200.25));
list.add(new PieceWorker("Mark", 4.5, 333));
list.add(new HourlyWorker("William", 31.25, 50));
    
System.out.println("Use built-in iterator:");
Iterator iterator = list.iterator();
while(iterator.hasNext()) {
  Employee em = (Employee)iterator.next();
  System.out.print(em + " earns $");
  System.out.println(em.earnings());
}

No comments:

Post a Comment

Note: only a member of this blog may post a comment.