File tree Expand file tree Collapse file tree
src/main/java/designPattern Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ package designPattern .abstractFactory ;
2+
3+ public abstract class AbstractEmployeeFactory {
4+ public abstract IEmployee getEmployee ();
5+ }
Original file line number Diff line number Diff line change 1+ package designPattern .abstractFactory ;
2+
3+ public class EmployeeFactory {
4+ public static IEmployee getEmployee (AbstractEmployeeFactory factory ) {
5+ return factory .getEmployee ();
6+ }
7+ }
Original file line number Diff line number Diff line change 1+ package designPattern .abstractFactory ;
2+
3+ public class HR implements IEmployee {
4+ @ Override
5+ public int getSalary () {
6+ System .out .println ("2000" );
7+ return 1000 ;
8+ }
9+
10+ @ Override
11+ public String getName () {
12+ System .out .println ("Hr" );
13+ return "SDE" ;
14+ }
15+ }
Original file line number Diff line number Diff line change 1+ package designPattern .abstractFactory ;
2+
3+ public class HrFactory extends AbstractEmployeeFactory {
4+ @ Override
5+ public IEmployee getEmployee () {
6+ return new HR ();
7+ }
8+ }
Original file line number Diff line number Diff line change 1+ package designPattern .abstractFactory ;
2+
3+ public interface IEmployee {
4+ int getSalary ();
5+ String getName ();
6+ }
Original file line number Diff line number Diff line change 1+ package designPattern .abstractFactory ;
2+
3+ public class Main {
4+ public static void main (String [] args ) {
5+
6+ var emp1 = EmployeeFactory .getEmployee (new HrFactory ());
7+ var emp2 = EmployeeFactory .getEmployee (new SDEFactory ());
8+
9+ }
10+ }
Original file line number Diff line number Diff line change 1- package factory ;
1+ package designPattern . factory ;
22
33public class Company {
44
Original file line number Diff line number Diff line change 1- package factory ;
1+ package designPattern . factory ;
22/**This will have the emlpoyee methods which will return employee based on inputs*/
33public class EmployeeFactory {
44
Original file line number Diff line number Diff line change 1- package factory ;
1+ package designPattern . factory ;
22
33public class HR implements IEmployee {
44 @ Override
Original file line number Diff line number Diff line change 1- package factory ;
1+ package designPattern . factory ;
22
33public interface IEmployee {
44 int getSalary ();
You can’t perform that action at this time.
0 commit comments