publicclassAudiFactoryimplementsFactory{@Overridepublic Car getCar(){returnnewAudi();}}publicclassBenzFactoryimplementsFactory{@Overridepublic Car getCar(){returnnewBenz();}}publicclassBmwFactoryimplementsFactory{@Overridepublic Car getCar(){returnnewBmw();}}
//todo:3. 抽象工廠方法模式,利用抽象類來實現,綜合了工廠方法和簡單工廠方法兩種模式的優缺點publicabstractclassAbstractFactory{abstract Car getCar();public Car getCar(String name){if("BMW".equalsIgnoreCase(name)){returnnewBmwFactory().getCar();}elseif("Benz".equalsIgnoreCase(name)){returnnewBenzFactory().getCar();}elseif("audi".equalsIgnoreCase(name)){returnnewAudiFactory().getCar();}else{return null;}}}