I am trying to understand the theory of what a factory pattern is, am I implementing it correctly here? if not what is wrong if correct what should I change?
Interface
public interface Person {
public void setName(String name);
public String getName();
public void setAge(String age);
public String getAge();
public void setGender(String gender);
public String getGender();
}
Male Object
public class Male implements Person
{
public String name;
public String age;
public String gender;
@Override
public void setName(String name) {
this.name = name;
}
@Override
public String getName() {
return null;
}
@Override
public void setAge(String age) {
this.age = age;
}
@Override
public String getAge() {
return null;
}
@Override
public void setGender(String gender) {
this.gender = gender;
}
@Override
public String getGender() {
return null;
}
}
Female Object
public class Male implements Person
{
public String name;
public String age;
public String gender;
@Override
public void setName(String name) {
this.name = name;
}
@Override
public String getName() {
return null;
}
@Override
public void setAge(String age) {
this.age = age;
}
@Override
public String getAge() {
return null;
}
@Override
public void setGender(String gender) {
this.gender = gender;
}
@Override
public String getGender() {
return null;
}
}
Object Factory
public class PersonFactory {
public Person getPerson(String type) {
if(type == "MALE") {
return new Male();
}
else {
return new Female();
}
}
public Person getMale() {
return new Male();
}
public Person getFemale() {
return new Female();
}
}
Main Method
public class main {
public static void main(String[] args) {
PersonFactory pf = new PersonFactory();
Person adam = pf.getPerson("MALE");
}
}