基本上我有一个接口Person,并且我有2个类实现该接口的女性和男性。工厂模式方法问题
但是对于女班,我有一个方法getPregnancyMonth,我的男性班没有。所以添加到我的界面人。
但它成为一个问题,因为我的男性类现在需要从界面继承该方法,我发现这是男性永远不会怀孕的荒谬。
什么是解决方案,我需要做一个扩展人而不是实现?
谢谢。
编辑:对不起,如果我的问题不清楚。但在这种情况下,我已经将男性/女性类的两个get/set方法添加到界面中。
示例代码:
public void process(){
static void Main(Form form) {
Person person = Factory.createPerson(form.getGender());
//populate code
person.setName(form.getName());
if("F".equals(gender)){
person.setPregnancyMonth(form.getPregnancyMonth());
}
...rest of code
}
}
我的问题是,因为我的接口有getPregnancyMonth,我的男性有getPregnancyMonth方法添加到具体的类来实现该接口。有没有办法避免这种情况?
请解决您的问题,这不是一个工厂模式的问题,但关于继承和面向对象设计一个一般性的问题。 –