| Account.java Package Com.raysmond.factorymethod; Public interface Account { Interface to define objects created by the factory method Public Roletype getrole (); public void Setaccountid (Integer accountid); Public Integer Getaccountid (); public void Setaccountname (String name); Public String getaccountname (); } User.java Package Com.raysmond.factorymethod; public class User implements account{ Private Integer userId; Private String UserName; @Override Public Roletype Getrole () { return roletype.user; }
@Override public void Setaccountid (Integer accountid) { This.userid = AccountId; } @Override Public Integer Getaccountid () { return userId; } @Override public void Setaccountname (String name) { This.username = name; } @Override Public String Getaccountname () { return userName; } } Admin.java Package Com.raysmond.factorymethod; public class Admin implements account{ Private Integer Adminid; Private String AdminName;
@Override Public Roletype Getrole () { return roletype.admin; }
@Override public void Setaccountid (Integer accountid) { This.adminid = AccountId; }
@Override Public Integer Getaccountid () { return Adminid; } @Override public void Setaccountname (String name) { This.adminname = name; } @Override Public String Getaccountname () { return adminname; } } Accountfactory.java Package Com.raysmond.factorymethod; Public interface Accountfactory { Account Getaccount (); } Userfactory.java Package Com.raysmond.factorymethod; public class Userfactory implements accountfactory{ @Override Public account Getaccount () { return new User (); } } Adminfactory.java Package Com.raysmond.factorymethod; public class Adminfactory implements accountfactory{ @Override Public account Getaccount () { return new Admin (); } } Roletype.java Package Com.raysmond.factorymethod; public enum Roletype { Admin,user } Test.java Package Com.raysmond.factorymethod; public class Test { public static void Main (string[] args) { Accountfactory userfactory = new Userfactory (); User user = (user) userfactory.getaccount ();
Accountfactory adminfactory = new Adminfactory (); Admin admin = (admin) adminfactory.getaccount ();
System.out.println (User.getrole ()); System.out.println (Admin.getrole ()); } }
|