首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有抽象方法的工厂方法模式可能吗?

没有抽象方法的工厂方法模式可能吗?
EN

Stack Overflow用户
提问于 2013-10-08 18:17:07
回答 1查看 192关注 0票数 1

假设一个Java程序没有抽象方法,那么在没有抽象方法的情况下实现工厂方法模式是可能的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-08 18:21:17

绝对的:一个工厂法不需要是抽象的-它可以是一个非抽象的方法,它的默认实现抛出一个异常,或者它可以是一个接口的方法,它总是抽象的。

代码语言:javascript
复制
interface Product {
    void doSomething();
}
interface Creator {
     Product create(String someData);
}
class ProductX implements Product {
    public void doSomething() {
         System.out.println("X");
    }
}
class ProductY implements Product {
    public void doSomething() {
         System.out.println("y");
    }
}
class XYFactory implements Creator {
    public Product create(String someData) {
        if ("X".equals(someData)) {
            return new ProductX();
        }
        if ("Y".equals(someData)) {
            return new ProductY();
        }
        return null;
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19255288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档