Discuss / Java / 这不交作业了嘛~~~

这不交作业了嘛~~~

Topic source

_崔先生_

#1 Created at ... [Delete] [Delete and Lock User]

静态的方法

class LocalDateFactory {
    public static LocalDate fromInt(int yyyyMMdd) {
        return LocalDate.of(yyyyMMdd / 10000, yyyyMMdd / 100 % 100, yyyyMMdd % 100);
    }
}


LocalDateFactory.fromInt(20200202)

动态的方法

interface Factory {
    LocalDate fromInt(int yyyyMMdd);
}

interface LocalDateFactory extends Factory {
    static LocalDateFactory getFactory() {
        return new LocalDateFactoryImpl();
    }
}

class LocalDateFactoryImpl implements LocalDateFactory {
    public LocalDate fromInt(int yyyyMMdd) {
        return LocalDate.of(yyyyMMdd / 10000, yyyyMMdd / 100 % 100, yyyyMMdd % 100);
    }
}

LocalDateFactory factory = LocalDateFactory.getFactory();
factory.fromInt(20200202)

嘎嘣脆

#2 Created at ... [Delete] [Delete and Lock User]

从个人理解角度看,工厂和工厂产品,都属于对象。而工厂方法则属于创建对象的方法。抽象工厂方法,是通过封装方法的方式优化创建对象的过程。而工厂方法,则通过定义接口的方式,通过接口中的方法返回具体对象。而对象的实现由实现这个接口的子类完成,子类可以有多个,而使用者只需要调用方法即可。


  • 1

Reply